开放-封闭原则,是面向对象的核心思想,使用开放-封闭原则的设计模式,可以获得那些声称使用面向对象可以获得的巨大好处,即可扩展性,易维护性,高复用性,超灵活性。
开放原则:对扩展时开放的!
封闭原则:对修改时关闭的!
就是说,一个良好的类,欢迎其他的类去继承它,使用它。但是,不欢迎对它进行修改。如果要修改,以便实现新功能,那么,不如去新开发一个类。当然,绝对的不修改是不可能的。这就要求在开发中多思考,多考虑将来有可能面对的修改,降低对某个特定功能的耦合度。
请注意,开放-封闭原则在OOP中的地位,是核心思想!
扩展性:容易新增多个软件包;
维护性:维护时只需要修改一个类中的一个函数即可,完全不会涉及到其他的代码;
复用性:随时随地,拿来就用;
灵活性:因为可以扩展,容易维护,可以复用,所以灵活。
举例:一台电脑,内存条坏了只需要拔下内存条即可,显卡需要升级只需要拔下旧显卡,插上新显卡。CPU风扇坏了只需要更换风扇而不需要更换CPU。无论是Inter还是AMD,每一小块芯片都有许多的复杂的指令集,我们不需要知道。内存条厂商也不需要知道CPU和主板的指令集,将内存条根据针脚插入主板中,就可以工作,因为它依靠针脚(接口)来传输数据。各个硬件之间相互独立。对某个硬件而言,对内我的指令集和工作方式是封闭的,你不可以修改也不需要知道,对外,我有接口,支持扩展,大家可以把我插了就用。这就是开放-封闭原则的体现。是高聚能低耦合的典型例子。

标签: PHP, 设计模式, 开放-封闭原则

添加新评论