这篇文章总结的很到位:
https://www.jianshu.com/p/807bc228dbc2
欢迎去阅读
设计模式六大原则 ,简称:solid
1.Single Responsibility Princple单一职责原则

同一个类只负责一个职责,其内部是高度关联的函数。

2.开闭原则:Open close princple

在扩展上开放,在修改上禁止。一个好的设计在添加新功能的时候应该进行扩展,除非错误才会去修改原来的代码

3.里氏替代原则Liskov Substitution Principle,简称LSP:

 使用父类的地方都可以使用子类替换,反之,不可以

4.迪米特原则:Law of Demeter,LoD

类间解耦

5.依赖倒置原则:Dependence Inversion Principle,DIP

高层模块不应该依赖底层模块,二者都该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象;高层模块就是调用端,低层模块就是具体实现类。抽象就是指接口或抽象类。细节就是实现类。

6.接口隔离原则:Interface Segregation Principle,ISP

  每一个接口应该是最小的接口单元

何红辉设计模式之六大原则相关推荐

  1. 【设计模式 00】设计模式的六大原则

    设计模式的六大原则 参考: 设计模式六大原则 1. 单一职责原则 一个类只负责一个明确的功能 优点: 降低类的复杂度,提高代码可读性和可维护性 降低变更时对其他功能的影响 2. 里氏替换原则 **原则 ...

  2. 神了!有人用一个项目把23种设计模式与六大原则融会贯通了

    前言 设计模式分为三类,创建型,结构型和行为型.创建型比较好理解,它抽象了实例化过程,将系统与实例的创建解耦.实例由专门的工厂来创建,从而使系统针对实例的抽象接口编程,不依赖任何具体的实现.结构型和行 ...

  3. 如何理解设计模式的六大原则?

    我们知道,java中有类,父类,抽象类,接口这些概念,而设计模式的六大原则就解释了它们及其它们之间的关系是怎样的,接下来我们将由简到难一一剖析. 开闭原则:是总纲,他告诉我们要对扩展开放,对修改关闭. ...

  4. 设计模式的六大原则(SOLID)

    设计模式的六大原则有: Single Responsibility Principle:单一职责原则 Open Closed Principle:开闭原则 Liskov Substitution Pr ...

  5. unity 项目开发——浅谈设计模式的六大原则(一)

    目录 前言 首先,六大原则是谁? 其次,为什么需要学习这六大原则? 正文 一.单一职责原则 示例: 因此我们需要进行拆分,根据具体的职能可将其具体拆分如下: Unity 单一职责原则 二.开闭原则 U ...

  6. 设计模式的六大原则。简称:SOLID

    设计模式的六大原则.简称:SOLID 迪米特法则(Law of Demeter):如果两个类之间并不需要直接通信,那么就不应该让这两个类相互作用.又叫作最少知识原则 迪米特法则的定义是:只与你的直接朋 ...

  7. 「设计模式」六大原则之三:里氏替换原则小结

    文章目录 1.里式替换原则定义 2. 举例说明 示例1: 示例2: 3. 哪些代码明显违背了 LSP? 子类违背父类声明要实现的功能 子类违背父类对输入.输出.异常的约定 子类违背父类注释中所罗列的任 ...

  8. (转)设计模式之六大原则

    源地址:http://blog.csdn.net/scboyhj__/article/details/47844639 1. 单一职责原则 -Single Responsibility Princip ...

  9. 【设计模式】——六大原则

    ◎原则之间的关系◎ 开闭原则是目标,里氏转换原则是基础,依赖倒转原则是手段.六大原则追求的目标都是,可扩展,复用性强,灵活性高,容易维护,耦合度低. ★★单一职责原则★♬★ 定义:就一个类而言,应该仅 ...

最新文章

  1. 一文读懂什么是数字孪生?
  2. 对话高通孟樸:5G发展离不开中国,高通坚定pick全球化
  3. js图片懒加载的第二种方式
  4. java match正则不生效_[Java教程]正则表达式match()函数
  5. c++调用python找不到py文件的可能原因
  6. java tcp 字节数_服务器无法接收大小超过1500字节的TCP数据包
  7. java中的extends_Java中的继承
  8. pip安装第三方库报错Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None))
  9. 洛谷 [POI2007]BIU-Offices 解题报告
  10. Typora下载地址
  11. 【C语言】牛顿切线公式计算 a 的立方根 02
  12. solr删除数据的4种方便快捷的方式
  13. kaggle下载output中的文件
  14. 复现论文常用函数(一)tf.one_hot,tf.train.batch,tf.train.shuffle_batch,数据读取机制,获取文件路径,Bunch等
  15. python的文件操作:文件定位读写,重命名,删除等操作
  16. dmrman恢复数据报错Segmentation fault (core dumped)
  17. 信息系统项目管理师学习笔记6——信息化与信息系统补充知识
  18. 贝塞尔曲线想到的--真的很美,但是有时很丑
  19. Deepspeed:让大规模深度学习更快更省资源的神器
  20. windows 服务程序和桌面程序集成(一)

热门文章

  1. pandas 中DataFrame使用:数据标准化、数据分组、日期转换、日期格式化、日期抽取
  2. 链接器工具错误错误 LNK2019 无法解析的外部符号
  3. 带上这款“移动小空调”,哪里都是乘凉地!安静舒适健康,不用插电就能持久使用!...
  4. 常见的4种类行为模式
  5. ARGB色彩空间模型:ARGB_8888、ARGB_4444、RGB_565、ALPHA_8、ARGB1555
  6. Specified class is an interface异常
  7. Python分析好友空间星座代码
  8. 为什么成功人士都是工具控?10个高效率生产力工具及官方福利
  9. python中argmin函数_numpy中的argmax、argmin、argwhere、argsort、argpartition函数
  10. 【Python环境】使用WSL +MobaXterm 在windows系统上使用Linux应用