Open-Closed Principle原则讲的是:一个软件实体应当对扩展开放,对修改关闭。

优点: 通过扩展已有软件系统,可以提供新的行为,以满足对软件的新的需求,使变化中的软件有一定的适应性和灵活性。 已有软件模块,特别是最重要的抽象层模块不能再修改,这使变化中的软件系统有一定的稳定性和延续性。

用面向对象的语言来讲,不允许更改的是系统的抽象层,而允许更改的是系统的实现层。

里氏代换原则(LSP)
Liskov Substitution Principle(里氏代换原则):子类型(subtype)必须能够替换它们的基类型。

最新文章

  1. 临界区 TRTLCriticalSection 和 TCriticalSection
  2. JAVA基础----java中E,T,?的区别?
  3. 解决点击a标签返回页面顶部的问题
  4. 2014北邮新生归来赛解题报告a-c
  5. Embedded之Introduction
  6. html5笔记
  7. C#学习笔记(3)
  8. BZOJ 1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路
  9. Git单独checkout子目录
  10. MySQL最常用分组聚合函数
  11. 基于.NET CORE微服务框架 -surging的介绍和简单示例 (开源)
  12. scrapy_全站爬取
  13. 机器学习之支持向量机(二):SMO算法
  14. CHD 5.15 安装 Kylin
  15. lettcode21. Merge Two Sorted Lists
  16. [Linux]Redhat7配置本地镜像源
  17. 项目部署到服务器上之后request.getRemoteAddr()为什么获取的都是本地地址
  18. 转载 AutoMapper在C#中的有趣应用 https://www.cnblogs.com/lvlinlv/p/7344916.html
  19. ABP编译必须添加对程序集“netstandard, Version=2.0.0.0错误
  20. laravel 5.1 使用Eloquent ORM 操作实例

热门文章

  1. xxtea 文件加密与解密
  2. vue动态加载组件
  3. JFinal项目eclipse出现the table mapping of model: com.gexin.model.scenic.Scenic not exists or the ActiveRecordPlugin not start.
  4. 笔试算法题(05):转换BST为双向链表 & 查找栈中的最小元素
  5. 自动清除日期目录shell脚本
  6. Buffer.from()
  7. chrome最强大的浏览器插件推荐,只要你会用其他的插件你可以删除了
  8. 【】node基础概念问题(转载)
  9. [HAOI2011]Problem b 题解
  10. POJ 2479 两段连续最大和