02 开闭原则

官方定义:

开闭原则规定软件中的对象、类、模块和函数对扩展应该是开放的,但对于修

改是封闭的。这意味着应该用抽象定义结构,用具体实现扩展细节,以此确保

软件系统开发和维护过程的可靠性。

通俗解释:

对扩展开放,对修改关闭

对扩展开放和对修改关闭表示当一个类或一个方法有新需求或者需求发生改变时应该采用扩展的方式而不应该采用修改原有逻辑的方式来实现。因为扩展了新的逻辑如果有问题只会影响新的业务,不会影响老业务;而如果采用修改的方式,很有可能就会影响到老业务受影响。

开闭原则是所有设计模式的最核心目标,也是最难实现的目标,但是所有的软件设计模式都应该以开闭原则当作标准,才能使软件更加的稳定和健壮。

优点:
  1. 新老逻辑解耦,需求发生改变不会影响老业务的逻辑
  2. 改动成本最小,只需要追加新逻辑,不需要改的老逻辑
  3. 提供代码的稳定性和可扩展性
场景示例

顶层设计思维

抽象意识

封装意识

扩展意识

相关推荐
蔚一5 天前
Java设计模式—面向对象设计原则(一) ----->开闭原则OCP(完整详解,附有代码+案例)
java·后端·设计模式·intellij-idea·开闭原则
MogulNemenis23 天前
符合开闭原则的设计模式
设计模式·bash·开闭原则
要记得喝水23 天前
软件设计原则之开闭原则
windows·c#·.net·visual studio·开闭原则
认真的小羽❅1 个月前
设计模式 -- 七大原则(五)-- 开闭原则
设计模式·开闭原则
海的宇宙1 个月前
C#:具体类=>抽象类=>接口的变化过程详解
开发语言·面试·c#·抽象工厂模式·接口隔离原则·开闭原则
A22742 个月前
零——七大设计原则
接口隔离原则·依赖倒置原则·里氏替换原则·开闭原则·迪米特法则·合成复用原则·单一职责原则
一大颗萝卜3 个月前
【原创实现 设计模式】Spring+策略+模版+工厂模式去掉if-else,实现开闭原则,优雅扩展
java·spring·设计模式·简单工厂模式·策略模式·模板方法模式·开闭原则
云贝贝贝3 个月前
oca和 ocp有什么区别
开闭原则
CodeSingerAlex4 个月前
从C++示例理解开闭原则
c++·开闭原则
黄名富4 个月前
【再探】设计模式—访问者模式、策略模式及状态模式
设计模式·状态模式·策略模式·访问者模式·开闭原则·单一职责原则