- 重构:Replace Conditional With Poly
- 重构读书笔记-9_5-Replace_Nested_Condit
- 重构读书笔记-9_6_Replace_Conditional_w
- 重构-Type Code / 条件语句 / vf 多态: C++
- 重构读书笔记-9_3-Consolidate_Duplicate
- 重构读书笔记-11_11-Replace_Inheritance
- 重构读书笔记-11_12-Replace_Delegation_
- 重构读书笔记-8_9-Replace_Magic_Number_
- 重构读书笔记-8_15-Replace_Type_Code_wi
- 重构读书笔记-10_6-Replace_Parameter_wi
多用多态代替switch或者if条件表达式。
好处在于:结构由面向过程变成面向对象,清晰易修改维护;间接层的加入使扩展性提高。
当一个条件表达式中不同对象有不同的行为,可以将条件表达式的每一个条件分支放进一个子类内的覆写函数中,将原始函数声明为抽象;
不过有些情况需要用别的方式:
假如重构类已经有子类,不方便轻易改动;或者所有的switch或者if语句针对的都是同一个类型码,那为只针对的这个类型码做一个继承结构体系即可。
具体可参加C端Order模块的代码。
网友评论