去除if-else

01 臃肿示例

1.1 if-else

image

1.2 case-switch

image

02 重构

2.1 工厂方式重构

(1)抽象接口 Operation.java

image

(2)加法实现 Addition.java

image

(3)减法实现 Subtraction.java

image

(4)乘法实现 Multiplication.java

image

(5)除法实现 Division.java

image

(6)求余实现 Modulo.java

image

(7)工厂类 OperatorFactory.java

image

(8)使用示例

image

2.2 枚举方式重构

(1)枚举实现Operator.java

image

(2)封装Operator到Calculator.java

image

(3)使用示例

image

2.3 命令模式

(1)抽象的接口

image

(2)实现类

image

(3)包装

image

(4)测试demo

image

2.4 规则引擎重构

(1)抽象规则

image

(2)实现规则AddRule.java

image

其中:返回结果

image

(3)表达式

image

(4)规则引擎RuleEngine.java

image

(5)测试demo

image

你可能感兴趣的:(去除if-else)