去除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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容