设计原则(三):OCP 开闭原则

简介: 设计原则(三):OCP 开闭原则

背景介绍


这是我的《架构整洁之道》系列的第七篇,这一篇我们将一起学习 OCP 开闭原则~

《架构整洁之道》系列:



OCP 开闭原则


对 OCP 原则的描述应该为:设计良好的计算机软件应该易于扩展,同时抗拒修改。

我们可以解释为:一个设计良好的计算机系统应该在不需要修改的前提下就可以轻易被扩展。


尽管大部分软件设计师都己经认可了 OCP 是设计类与模块时的重要原则,但是在软件架构层面,这项原 则的意义则更为重大。


如果 A 组件不想被 B 组件上发生的修改所影响,那么就应该让 B 组件依赖于 A 组件。软件架构师可以根据相关函数被修改的原因、修改的方式及修改的时间来对其进行分组隔离,并将这些互相隔离的函数分组整理成组件结构,使得高阶组件不会因低阶组件被修改而受到影响。


结束语


网络异常,图片无法展示
|


OCP 是我们进行系统架构设计的主导原则,其主要目标是让系统易于扩展,同时限制其每次被修改所影响的范围。实现方式是通过将系统划分为一系列组件,并且将这些组件间的依赖关系按层次结构进行组织,使得高阶组件不会因低阶组件被修改而受到影响。

最后


✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

少年向来不识天高地厚
放眼处皆自负才高八斗
虽是自命风流
倒也坦诚无忧
我爱这样的少年
谦和而狂妄
骄傲又坦然☀️

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

相关文章
|
11月前
|
设计模式 人工智能 前端开发
七大设计原则之开闭原则应用
七大设计原则之开闭原则应用
55 0
|
3月前
|
设计模式 关系型数据库
【设计模式】软件设置原则-开闭原则
【1月更文挑战第12天】【设计模式】软件设置原则-开闭原则
|
11月前
|
关系型数据库 测试技术 程序员
面向对象设计原则~~~开闭原则
面向对象设计原则~~~开闭原则
69 0
|
12月前
|
设计模式 人工智能 前端开发
软件架构设计原则之开闭原则
开闭原则(Open-Closed Principle,OCP)是指一个软件实体(如类、模块和函数)应该对扩展开放,对修改关闭。所谓的开闭,也正是对扩展和修改两个行为的一个原则。它强调的是用抽象构建框架,用实现扩展细节,可以提高软件系统的可复用性及可维护性。开闭原则是面向对象设计中最基础的设计原则,它指导我们如何建立稳定、灵活的系统。例如版本更新,我们尽可能不修改源代码,但是可以增加新功能。
109 0
|
12月前
|
设计模式 关系型数据库
软件架构设计原则之里氏替换原则
里氏替换原则(Liskov Substitution Principle,LSP)是指如果对每一个类型为T1的对象o1,都有类型为T2的对象O2,使得以T1定义的所有程序P在所有的对象O1都替换成O2时,程序P的行为没有发生变化,那么类型T2是类型T1的子类型。
66 0
|
消息中间件 设计模式 存储
【Java设计模式 经典设计原则】二 SOLID-OCP开闭原则
【Java设计模式 经典设计原则】二 SOLID-OCP开闭原则
82 0
|
设计模式 关系型数据库
设计模式 - 六大设计原则之OCP(开闭原则)
在面向对象编程领域中,开闭原则规定软件中的类、对象、模块和函数对扩展应该是开放的,但对修改是封闭的。这意味着 应该用抽象定义结构,用具体实现扩展细节,以此确保软件系统开发和维护过程的可靠性。
164 0
设计模式 - 六大设计原则之OCP(开闭原则)
|
关系型数据库 中间件 测试技术
架构整洁之道-05 设计原则-开闭原则OCP
开闭原则 Open Closed Principie ,OCP 软件实体的行为应当不是修改实体,而是对实体进行扩展。
120 0
|
设计模式 测试技术
开闭原则|设计原则(一)
由于在软件体系中,唯一不变的,就是软件一直在变。
开闭原则|设计原则(二)
由于在软件体系中,唯一不变的,就是软件一直在变。