开放-封闭原则(Open Close Principle,OCP)
软件规模的扩大,导致软件系统的维护难度上升。因此法国工程院院士Bertrand Meyer 提出了开放封闭原则。
什么是开放-封闭原则
此原则的基本思想是:
- Open ( Open for extension ) 对扩展开放,模块的行为是灵活的。
- Closed ( Closed for modification ) 对模块进行扩展的时候,不能影响已有的程序模块。
比较直观的例子就是电脑,我们可以很容易的对电脑进行硬件上的扩充,只需要在不同的接口上链接即可,而不会影响已有的功能。这就是开放-封闭原则。
那么,如何把这两个看似矛盾的特性结合起来呢?
要点是抽象类,或者接口
通过定义抽象类或者接口,我们可以规范一类型类的行为,使得调用者在使用这些被规范的类的时候可以使用同一的代码而调用而不用修改原来的代码。这样,我们就可以做到了开放-封闭原则。下面举一个例子。
我们手头有一台计算机,它的一切资源都由进程类来管理
class processManager {
private $msg =