出現(xiàn)if/else和switch/case的場景
通常業(yè)務(wù)代碼會包含這樣的邏輯:每種條件下會有不同的處理邏輯。比如兩個數(shù)a和b之間可以通過不同的操作符(+,-,*,/)進(jìn)行計算,初學(xué)者通常會這么寫:
這種最基礎(chǔ)的代碼如何重構(gòu)呢?
工廠類
枚舉
Command模式
規(guī)則引擎
1. 定義規(guī)則
2. Add 規(guī)則
3. 表達(dá)式
4. 規(guī)則引擎
策略模式
1. 操作
2. 策略