OOD/DDP 中的 OCP 原则
开放封闭原则(Open-Closed Principle:OCP),对于扩展开放,对于修改封闭。
a) 对扩展开放,意味着有新的需求或要更改时,可以对现有的代码进行扩展,这样可适应新的情况。
b) 对修改封闭,意味着类设计并投入使用后,就不要对类进行修改。
这样就很疑惑了,我们要满足新的需求,就要对类进行修改,但我们又要保证不对类进行修改,这不矛盾吗?这其实就引出了一个重要的概念:抽象。对事物进行抽象是一个很重要的能力,对程序猿来说更是重要。我们先对业务进行抽象,然后根据具体的业务可进行不同的实现。常用的设计模式有 "模板模式" 和 "策略模式"。
在 IoC 思想下的 DI 框架中,通过 构造函数 注入的形式,个人认为是对 OCP 原则的一个很好的诠释。