何红辉设计模式之六大原则
这篇文章总结的很到位:
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
每一个接口应该是最小的接口单元
何红辉设计模式之六大原则相关推荐
- 【设计模式 00】设计模式的六大原则
设计模式的六大原则 参考: 设计模式六大原则 1. 单一职责原则 一个类只负责一个明确的功能 优点: 降低类的复杂度,提高代码可读性和可维护性 降低变更时对其他功能的影响 2. 里氏替换原则 **原则 ...
- 神了!有人用一个项目把23种设计模式与六大原则融会贯通了
前言 设计模式分为三类,创建型,结构型和行为型.创建型比较好理解,它抽象了实例化过程,将系统与实例的创建解耦.实例由专门的工厂来创建,从而使系统针对实例的抽象接口编程,不依赖任何具体的实现.结构型和行 ...
- 如何理解设计模式的六大原则?
我们知道,java中有类,父类,抽象类,接口这些概念,而设计模式的六大原则就解释了它们及其它们之间的关系是怎样的,接下来我们将由简到难一一剖析. 开闭原则:是总纲,他告诉我们要对扩展开放,对修改关闭. ...
- 设计模式的六大原则(SOLID)
设计模式的六大原则有: Single Responsibility Principle:单一职责原则 Open Closed Principle:开闭原则 Liskov Substitution Pr ...
- unity 项目开发——浅谈设计模式的六大原则(一)
目录 前言 首先,六大原则是谁? 其次,为什么需要学习这六大原则? 正文 一.单一职责原则 示例: 因此我们需要进行拆分,根据具体的职能可将其具体拆分如下: Unity 单一职责原则 二.开闭原则 U ...
- 设计模式的六大原则。简称:SOLID
设计模式的六大原则.简称:SOLID 迪米特法则(Law of Demeter):如果两个类之间并不需要直接通信,那么就不应该让这两个类相互作用.又叫作最少知识原则 迪米特法则的定义是:只与你的直接朋 ...
- 「设计模式」六大原则之三:里氏替换原则小结
文章目录 1.里式替换原则定义 2. 举例说明 示例1: 示例2: 3. 哪些代码明显违背了 LSP? 子类违背父类声明要实现的功能 子类违背父类对输入.输出.异常的约定 子类违背父类注释中所罗列的任 ...
- (转)设计模式之六大原则
源地址:http://blog.csdn.net/scboyhj__/article/details/47844639 1. 单一职责原则 -Single Responsibility Princip ...
- 【设计模式】——六大原则
◎原则之间的关系◎ 开闭原则是目标,里氏转换原则是基础,依赖倒转原则是手段.六大原则追求的目标都是,可扩展,复用性强,灵活性高,容易维护,耦合度低. ★★单一职责原则★♬★ 定义:就一个类而言,应该仅 ...
最新文章
- 一文读懂什么是数字孪生?
- 对话高通孟樸:5G发展离不开中国,高通坚定pick全球化
- js图片懒加载的第二种方式
- java match正则不生效_[Java教程]正则表达式match()函数
- c++调用python找不到py文件的可能原因
- java tcp 字节数_服务器无法接收大小超过1500字节的TCP数据包
- java中的extends_Java中的继承
- pip安装第三方库报错Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None))
- 洛谷 [POI2007]BIU-Offices 解题报告
- Typora下载地址
- 【C语言】牛顿切线公式计算 a 的立方根 02
- solr删除数据的4种方便快捷的方式
- kaggle下载output中的文件
- 复现论文常用函数(一)tf.one_hot,tf.train.batch,tf.train.shuffle_batch,数据读取机制,获取文件路径,Bunch等
- python的文件操作:文件定位读写,重命名,删除等操作
- dmrman恢复数据报错Segmentation fault (core dumped)
- 信息系统项目管理师学习笔记6——信息化与信息系统补充知识
- 贝塞尔曲线想到的--真的很美,但是有时很丑
- Deepspeed:让大规模深度学习更快更省资源的神器
- windows 服务程序和桌面程序集成(一)
热门文章
- pandas 中DataFrame使用:数据标准化、数据分组、日期转换、日期格式化、日期抽取
- 链接器工具错误错误 LNK2019 无法解析的外部符号
- 带上这款“移动小空调”,哪里都是乘凉地!安静舒适健康,不用插电就能持久使用!...
- 常见的4种类行为模式
- ARGB色彩空间模型:ARGB_8888、ARGB_4444、RGB_565、ALPHA_8、ARGB1555
- Specified class is an interface异常
- Python分析好友空间星座代码
- 为什么成功人士都是工具控?10个高效率生产力工具及官方福利
- python中argmin函数_numpy中的argmax、argmin、argwhere、argsort、argpartition函数
- 【Python环境】使用WSL +MobaXterm 在windows系统上使用Linux应用