设计原则
中文名称 |
英文名称 |
含义 |
解释 |
单一职责原则 |
Single Responsibility Principle(SRP) |
任何一个软件模块都应该只对某一类行为者负责 |
一个类只干一件事,实现类要单一 |
开闭原则 |
Open-Close Principle(OCP) |
软件实体(类、模块、函数等)应该是可以扩展的,但是不可以修改 |
对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果 |
里氏代换原则 |
Liskov Substitution Principle(LSP) |
子类型必须能够替换掉他们的基类型,且不改变原有逻辑 |
实现开闭原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实体抽象化的具体步骤的规范。 |
接口隔离原则 |
Interface Segregation Principle(ISP) |
接口应该是内聚的,不应该强迫客户依赖他们不用的方法 |
使用多个隔离的接口,比使用单个接口要好 |
依赖倒转原则 |
Dependency Inversion Principle(DIP) |
高层模块不应该依赖底层模块,二者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象 |
针对接口编程,依赖于抽象而不依赖于具体 |
迪米特法则 |
Demeter Principle(DP) |
一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立 |
最少知道原则 |
合成复用原则 |
Composite Reuse Principle(CRP) |
尽量使用组合(contains-a)、聚合(has-a)的方式而不是继承(is-a)的关系来达到软件复用的目的 |
类之间的耦合度较低,一个类的变动对其他类的影响较小 |
设计模式详解
创建型设计模式
序号 |
设计模式 |
一句话概括 |
详解 |
1 |
工厂模式 |
产品标准化,生产更高效 |
工厂模式 抽象工厂模式
|
2 |
单例模式 |
世上只有一个我 |
单例模式 |
3 |
原型模式 |
拔一根猴毛,吹出猴万个 |
待补充 |
4 |
建造者模式 |
高配中配和低配,想怎么配就怎么配 |
建造者模式 |
结构型设计模式
序号 |
设计模式 |
一句话概括 |
详解 |
1 |
代理模式 |
没有资源没有时间,得找别人来帮忙 |
代理模式 |
2 |
外观模式 |
打开一扇门,通向全世界 |
外观模式 |
3 |
装饰器模式 |
他大舅他二舅都是他舅 |
装饰器模式 |
4 |
享元模式 |
优化资源配置,减少重复浪费 |
待补充 |
5 |
组合模式 |
人在一起叫团伙,心在一起叫团队 |
组合模式 |
6 |
适配器模式 |
万能充电器 |
适配器模式 |
7 |
桥接模式 |
约定优于配置 |
待补充 |
行为型设计模式
序号 |
设计模式 |
一句话概括 |
详解 |
1 |
策略模式 |
条条大路通罗马,具体哪条你来定 |
策略模式 |
2 |
模板模式 |
流程全部标准化,需要微调请覆盖 |
模板模式 |
3 |
责任链模式 |
各人自扫门前雪,莫管他们瓦上霜 |
责任链模式 |
4 |
观察者模式 |
到点就通知我 |
观察者模式 |
5 |
迭代器模式 |
流水线上坐一天,每个包裹扫一遍 |
迭代器模式 |
6 |
命令模式 |
运筹帷幄之中,决胜千里之外 |
命令模式 |
7 |
状态模式 |
状态驱动行为,行为决定状态 |
状态模式 |
8 |
备忘录模式 |
失足不成千古恨,想重来时就重来 |
待补充 |
9 |
中介者模式 |
联系方式我给你,怎么搞定我不管 |
待补充 |
10 |
解释器模式 |
我想说“方言”,一切解释权都归我 |
待补充 |
11 |
访问者模式 |
横看成岭侧成峰,远近高低各不同 |
待补充 |
12 |
委派模式 |
这个需求很简单,怎么实现我不管 |
待补充 |
23种设计模式思维导图
文章来源地址https://uudwc.com/A/591GM
文章来源:https://uudwc.com/A/591GM
原文地址:https://blog.csdn.net/wozaibohaibian/article/details/133105560
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!