文章图片标题

何时将条件转移语句改写为多态性

分类:架构设计 作者:阳光倾城 评论:0 点击: 443 次 日期:2016-07-31

将条件转移语句改写为多态性是常用的代码重构方法。将一个进行多次条件转移的商业逻辑封装到不同的具体子类中去,从而使用多态性代替条件转移语句。

这种代码重构的方法是实现“开-闭”原则的重要途径,因为条件转移语句特别是大段的条件转移语句常意味着某种可变性。将这种可变性用多态性代替,意味着将这种可变性封装起来,从而带来系统在这种变化发生时的“开-闭”特性。

但是这种方法本身并不能保证实现“开-闭”原则,应当以“开-闭”原则为指导原则。因为:

任何语言都提供条件转移功能,条件转移本身并不是错误的,有适合的应用场景。

使用多态性代替条件转移意味着大量的类被创建。比如,一个类如果有三个方法,每个方法都有一个三段的条件转移语句。那么转换为多态性就要造出九个不同的类。这九种组合成员之间的关系很难理解。

何时使用这种重构方式

从“开-闭”原则出发,如果一个条件转移语句确实封装了某种商务逻辑的可变性,那么将此种可变性封装起来就符合“开-闭”原则设计思想。

如果一个条件转移语句没有涉及重要的商务逻辑,或者不会随着时间的变化而变化,也不意味着任何的可扩展性,那么它就没有任何有意义的可变性。此时重构为多态就是无意义的浪费。




声明: 除非注明,本文属( 阳光倾城 )原创,转载请保留链接: http://www.tomrrow.com/archives-7786.html