重构:Replace Conditional With Polymorphism

多用多态代替switch或者if条件表达式。

好处在于:结构由面向过程变成面向对象,清晰易修改维护;间接层的加入使扩展性提高。

当一个条件表达式中不同对象有不同的行为,可以将条件表达式的每一个条件分支放进一个子类内的覆写函数中,将原始函数声明为抽象;

不过有些情况需要用别的方式:

假如重构类已经有子类,不方便轻易改动;或者所有的switch或者if语句针对的都是同一个类型码,那为只针对的这个类型码做一个继承结构体系即可。

具体可参加C端Order模块的代码。

你可能感兴趣的:(重构:Replace Conditional With Polymorphism)