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

举个栗子,加入我们要设计一个系统,在项目启动的时候我们不可能一下子把所有的需求全部考虑到。

我们所需要做的就是多扩展,少修改!

在我们最初编写代码的时候,假设变化不会发生。当变化发生的时候,我们就创建抽象来隔离以后发生的同类变化。

OCP原则是面向对象设计的核心所在。遵循这个原则可以带来 面向对象技术的巨大好处,即可维护、可复用、可拓展、灵活性好

开发人员应当仅对程序中频繁变化的那一部分进行抽象!

开放封闭原则(OCP)相关推荐

  1. 《JavaScript设计模式与开发实践》原则篇(3)—— 开放-封闭原则

    在面向对象的程序设计中,开放封闭原则(OCP)是最重要的一条原则.很多时候,一个程序具有良好的设计,往往说明它是符合开放封闭原则的. 当需要改变一个程序的功能或者给这个程序增加新功能的时候,可以使用增 ...

  2. 设计原则(单一职责原则 开放封闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则)

    设计原则 单一职责原则(SRP) 从三大特性角度看原则: 应用的设计模式: 开放封闭原则(OCP) 从三大特性角度看原则: 应用的设计模式: 里氏替换原则(LSP) 从三大特性角度看原则: 应用的设计 ...

  3. 开放-封闭原则(OCP)

    开放-封闭原则(The Open-Close Principle) 软件实体(类.模块.函数等)应该是可以扩展的,但是不可以修改的. 两个特征 1.对于扩展是开放的(Open for extensio ...

  4. 三、单一职责原则、开放-封闭原则、依赖倒转原则

    一.单一职责原则 1.定义:就一个类而言,应该仅有一个引起它变化的原因. 2.为什么要?:如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力 ...

  5. 面象对象设计6大原则之二:开放封闭原则

    转载自 面象对象设计6大原则之二:开放封闭原则 开放封闭原则(OCP),The Open Closed Principle 定义 一个软件的实体,包括类.方法.模块.应该对扩展开放,对修改关闭. 也就 ...

  6. 朝着理想坚实迈进_坚实原则:开放/封闭原则

    朝着理想坚实迈进 先前我们讨论了单一责任原则. 关于实体原则首字母缩写, 打开/关闭原则是该行中的第二个原则. "软件实体(类,模块,功能等)应打开以进行扩展,但应关闭以进行修改" ...

  7. 坚实原则:开放/封闭原则

    先前我们讨论了单一责任原则. 关于实体原则首字母缩写, 打开/关闭原则是该行中的第二个原则. "软件实体(类,模块,功能等)应打开以进行扩展,但应关闭以进行修改" 通过采用该原理, ...

  8. C++设计模式-开放-封闭原则基本概念与实例

    目录 基本概念 举一个例子 基本概念 在如那就的设计模式中,不能修改,但可以扩展的实现是一条十分重要的原则,它是开放-封闭原则(The Open-Clossed Principle,简称OCP)或开- ...

  9. 五大软件设计原则学习笔记2——开放封闭原则

    五大软件设计原则SOLID: 单一职责原则(Single responsibility principle,SRP) 开放封闭原则(Open–closed principle,OCP) Liskov ...

最新文章

  1. 管理员信息管理之删除管理员信息数据
  2. SpringBoot之web开发
  3. 8.2.1.3 Range Optimization
  4. http 请求报文和响应报文
  5. 面试官系统精讲Java源码及大厂真题 - 26 惊叹面试官:由浅入深手写队列
  6. Python中的枚举类型
  7. java简单的事务处理_JAVA之JDBC简单事务处理
  8. 详细分析谷歌紧急修复的 Chrome 0day(CVE-2021-21224)
  9. c语言p1-melepeo,C语言做个学生选课系统 -电脑资料
  10. 公务员Python培训
  11. 深度| 百度副总裁王海峰:百度在NLP领域都做了什么?
  12. 两篇超好的C#操作并口和串口的文章
  13. oracle下的inventory文件夹,Oracle软件安装目录信息Inventory作用以及如何重建此目录 - 2...
  14. 怎么翻译图片上的英文?图片翻译英文方法分享。
  15. 网络安全工程师(渗透运维)难学吗?
  16. 参考一:双缝干涉与波长测量
  17. 全球与中国远程视频会议市场深度研究分析报告
  18. 计算机管理里显示磁盘丢失,Win10硬盘分区丢失,在磁盘管理中找不到
  19. IAR for ARM 安装与注册(超详细)
  20. 包裹侠查快递单号_菜鸟驿站官网 官方网站 包裹侠快递单号查询

热门文章

  1. java-基础-java/c++
  2. MySQL触发器使用详解
  3. 2016-03-09c中指针与数组学习记录
  4. Query String Object 2.1.7
  5. Node.js调用ffmpeg处理视频
  6. boost bind使用指南
  7. ACE的接受器(Acceptor)和连接器(Connector):连接建立模式
  8. 数据中心加速,一文说清FPGA与GPU、ASIC目前的竞争格局
  9. (管道| / 重定向 / xargs)/find 与xargs结合使用/vi,grep,sed,awk(支持正则表达式的工具程序)
  10. linux下-exec和xargs的区别