OOD/DDP 中的 OCP 原则

开放封闭原则(Open-Closed Principle:OCP),对于扩展开放,对于修改封闭。

 a) 对扩展开放,意味着有新的需求或要更改时,可以对现有的代码进行扩展,这样可适应新的情况。

 b) 对修改封闭,意味着类设计并投入使用后,就不要对类进行修改。

这样就很疑惑了,我们要满足新的需求,就要对类进行修改,但我们又要保证不对类进行修改,这不矛盾吗?这其实就引出了一个重要的概念:抽象。对事物进行抽象是一个很重要的能力,对程序猿来说更是重要。我们先对业务进行抽象,然后根据具体的业务可进行不同的实现。常用的设计模式有 "模板模式" 和 "策略模式"。

在 IoC 思想下的 DI 框架中,通过 构造函数 注入的形式,个人认为是对 OCP 原则的一个很好的诠释。

 

posted @ 2016-08-06 17:23  这是个问题  阅读(170)  评论(0)    收藏  举报