开放-封闭 原则

简介:

开放-封闭原则:软件实体(类,模块,函数等等)应该可以扩展,但是不可修改

 

为适应不断变更的新需求,就及早的想办法应对发生更大改变的可能。最初编写代码时,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。比如:之前的加法程序,很快在一个client类中就能完成(http://www.cnblogs.com/zhangdongsheng/archive/2012/03/25/2417224.html)。此时变化还没有发生,如果我们再加一个减法功能,你发现,增加功能需要修改这个类。这就违背了今天的“开放-封闭”原则,于是你就考虑重构程序。增加一个抽象运算类,通过一些面向对象的手段,如继承,多态等来隔离算法。面对需求对程序是通过增加新代码进行的,而不是改变现有代码。这就是开放-封闭的精神所在。

相关文章
|
7月前
|
uml
开闭原则(对修改封闭,对扩展开放)
开闭原则(对修改封闭,对扩展开放)
73 0
|
设计模式 Java 关系型数据库
Java设计模式七大原则-开放-关闭原则
Java设计模式七大原则-开放-关闭原则
67 0
|
5月前
|
存储 设计模式 前端开发
软件架构设计的原则与模式:构建高质量系统的基石
【7月更文挑战第26天】软件架构设计是构建高质量软件系统的关键。遵循高内聚、低耦合、单一职责等设计原则,并灵活运用分层架构、微服务架构、客户端-服务器架构等设计模式,可以帮助我们设计出更加灵活、可扩展、可维护的软件系统。作为开发者,我们应该不断学习和实践这些原则与模式,以提升自己的架构设计能力,为团队和用户提供更加优秀的软件产品。
|
6月前
|
区块链
开放-封闭原则
开放-封闭原则
62 1
|
设计模式
设计模式——开放-封闭原则
设计模式——开放-封闭原则
|
存储 消息中间件 监控
大型系统应用边界设计原则与实践
大型系统应用边界设计原则与实践
大型系统应用边界设计原则与实践
打破边界,谁来定义未来云上攻防?
打破边界,谁来定义未来云上攻防?
139 0
|
边缘计算 安全 物联网
欧拉和鸿蒙打通后,华为如何界定二者边界?
9 月 25 日,在 Huawei Connect 2021 华为全联接大会(点击查看2021华为全联接大会专题报道)第三日主题演讲中,华为计算产品线总裁邓泰华宣布华为开源操作系统欧拉(openEuler)全新发布。全新升级的欧拉提出全栈原子化解耦,支持版本灵活构建、服务自由组合,通过一套架构灵活支持南向多样性设备、北向全场景应用,可广泛部署于服务器、云计算、边缘计算、嵌入式等各种形态设备。
218 0
欧拉和鸿蒙打通后,华为如何界定二者边界?