开放关闭原则

1.开放封闭原则(OCP,Open Closed Principle)是全部面向对象原则的核心。软件设计自己所追求的目标就是封装变化、下降耦合,而开放封闭原则正是对这一目标的最直接体现。其余的设计原则,不少时候是为实现这一目标服务的,例如以Liskov替换原则实现最佳的、正确的继承层次,就能保证不会违反开放封闭原则。 编程

2.核心思想:软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。 设计模式

3.使用缘由:软件需求老是变化的,世界上没有一个软件的是不变的,所以对软件设计人员来讲,必须在不须要对原有系统进行修改的状况下,实现灵活的系统扩展。 spa

4.如何作到对扩展开放,对修改封闭呢?
        实现开放封闭的核心思想就是对抽象编程,而不对具体编程,由于抽象相对稳定。让类依赖于固定的抽象,因此对修改就是封闭的;而经过面向对象的继承和多态机制,能够实现对抽象体的继承,经过覆写其方法来改变固有行为,实现新的扩展方法,因此对于扩展就是开放的。
        对于违反这一原则的类,必须经过重构来进行改善。经常使用于实现的设计模式主要有Template Method模式和Strategy 模式。而封装变化,是实现这一原则的重要手段,将常常变化的状态封装为一个类。
设计

相关文章
相关标签/搜索