摘要:
开-闭原则(OCP)在设计一个模块时,应当使这个模块可以在不被修改的前提下被扩展。开闭原则从另外一个角度讲述,就是“对可变性的封装原则”,即找到一个系统的可变因素,将之封装起来。这意味着两点:可变性应当被封装到一个对象里面。继承应当被看做封装变化的方法,而不是从一般对象生成特殊对象的方法。一种可变性不应当与另一种可变性混合在一起,实践上,通常类图的继承结构不会超过两层。“将条件转移语句改写成为多态性”,将一个进行多次条件转移的商业逻辑封装到不同的具体子类。如果一个条件转移语句没有涉及重要的商务逻辑,或者不会随着时间的变化而变化,也不意味着任何的可扩展性,那么它就没有涉及任何有意义的可变化。这就 阅读全文