01 臃腫示例
1.1 if-else
image
1.2 case-switch
image
02 重構(gòu)
2.1 工廠方式重構(gòu)
(1)抽象接口 Operation.java
image
(2)加法實(shí)現(xiàn) Addition.java
image
(3)減法實(shí)現(xiàn) Subtraction.java
image
(4)乘法實(shí)現(xiàn) Multiplication.java
image
(5)除法實(shí)現(xiàn) Division.java
image
(6)求余實(shí)現(xiàn) Modulo.java
image
(7)工廠類 OperatorFactory.java
image
(8)使用示例
image
2.2 枚舉方式重構(gòu)
(1)枚舉實(shí)現(xiàn)Operator.java
image
(2)封裝Operator到Calculator.java
image
(3)使用示例
image
2.3 命令模式
(1)抽象的接口
image
(2)實(shí)現(xiàn)類
image
(3)包裝
image
(4)測試demo
image
2.4 規(guī)則引擎重構(gòu)
(1)抽象規(guī)則
image
(2)實(shí)現(xiàn)規(guī)則AddRule.java
image
其中:返回結(jié)果
image
(3)表達(dá)式
image
(4)規(guī)則引擎RuleEngine.java
image
(5)測試demo
image