给你的if-else穿穿新衣-设计模式体验-Java
01 臃肿示例
1.1 if-else
1.2 case-switch
02 重构
2.1 工厂方式重构
(1)抽象接口 Operation.java
(2)加法实现 Addition.java
(3)减法实现 Subtraction.java
(4)乘法实现 Multiplication.java
(5)除法实现 Division.java
(6)求余实现 Modulo.java
(7)工厂类 OperatorFactory.java
(8)使用示例
2.2 枚举方式重构
(1)枚举实现Operator.java
(2)封装Operator到Calculator.java
(3)使用示例
2.3 命令模式 隐藏细节
(1)抽象的接口
(2)实现类
(3)包装
(4)测试demo
2.4 规则引擎重构
(1)抽象规则
(2)实现规则AddRule.java
其中:返回结果
(3)表达式
(4)规则引擎RuleEngine.java
(5)测试demo
03 小结
为了更好的代码重用性,可读性,可靠性,可维护性,我们会尝试将IF/ELSE或者case-switch进行改造,使用工厂方法,枚举方法,命令模式,规则引擎方式不同方法进行尝试,最后使用设计模式的六大原则对代码进行评估。
-本文引用子互联网,个人认为设计模式在一定程度上有了很好的封装,但对于一些基本的if-else,switch等不介意封装太深。对于一些业务比较复杂的分类模块可以引用设计模式来简化一下逻辑。