不要再寫if else了,優雅的處理

2021-10-04 04:18:23 字數 810 閱讀 5953

專案**現大量的if…else的判斷,根據傳參不同做不同的實現,這樣就會顯的**很臃腫,耦合性高

消除if…else的方法有很多,包括命令模式、規則引擎、簡單工廠等。接下來會介紹的一種方法是使用列舉來處理這樣的大量判斷。

1、首先定義乙個列舉類operator,列舉類裡面需要定義乙個方法public abstract string excute(string datas);

2、在列舉類裡面加上所有情況的實現:

public

enum operator },

down};

//更多實現

public

abstract string excute

(string datas)

;}

3、定義乙個類來呼叫列舉類裡面的方法:

public

class

executor

}

4、最後在具體的**裡面去引用定義的類,根據傳參的不同來呼叫列舉類裡面的不同實現:

//operator是傳過來的判斷條件   up、down

executor executor =

newexecutor()

; string result = executor.

(datas, operator.

valueof

(operator)

);

求求你們了,別再寫滿屏的 if else 了!

程式設計師想必都經歷過這樣的場景 剛開始自己寫的 很簡潔,邏輯清晰,函式精簡,沒有乙個 if else,可隨著 邏輯不斷完善和業務的瞬息萬變 比如需要對入參進行型別和值進行判斷 這裡要判斷下物件是否為 null 不同型別執行不同的流程。落地到具體實現只能不停地加 if else 來處理,漸漸地,變得...

優雅的使用if else

簡單的if else if 還好,就怕if else if 的裡面給你整個俄羅斯套娃。畫面太美 判斷書本狀態 private void testif string status else if done equals status else if read equals status 等到上面的場景...

不要再抱怨了,來點實在的。

最近在某個 的hw區看了看,裡面到處充滿了怨氣,基本上都是抱怨工資低,加班多,對公司的各種政策冷嘲熱諷,極盡挖苦之能事。這些人如果能看清楚隱藏在這些表象之下的經濟規 律,就會知道這些其實是再正常不過的事情了。人和人之間的關係,都是建立在某種利益交換的基礎之上的,對於普通大眾來說,就是經濟利益。像 君...