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

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

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

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

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

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

何时使用这种重构方式

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

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

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《何时将条件转移语句改写为多态性
本文地址:https://www.zhiletu.com/archives-7786.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!

在线客服
在线客服 X

售前: 点击这里给我发消息
售后: 点击这里给我发消息

智乐兔官微