23种设计模式汇总详解

设计原则

中文名称 英文名称 含义 解释
单一职责原则 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)的关系来达到软件复用的目的 类之间的耦合度较低,一个类的变动对其他类的影响较小

23种设计模式

相关推荐
漂洋过海的鱼儿3 小时前
设计模式——EIT构型(三)
java·网络·设计模式
老蒋每日coding12 小时前
AI Agent 设计模式系列(十八)—— 安全模式
人工智能·安全·设计模式
老蒋每日coding14 小时前
AI Agent 设计模式系列(十六)—— 资源感知优化设计模式
人工智能·设计模式·langchain
老蒋每日coding14 小时前
AI Agent 设计模式系列(十七)—— 推理设计模式
人工智能·设计模式
冷崖14 小时前
桥模式-结构型
c++·设计模式
连山齐名14 小时前
设计模式之一——堵塞队列
设计模式
会员果汁14 小时前
19.设计模式-命令模式
设计模式·命令模式
茶本无香14 小时前
设计模式之六—组合模式:构建树形结构的艺术
java·设计模式·组合模式
橘色的喵15 小时前
嵌入式 C++ 高性能流式架构的设计
数码相机·设计模式
会员果汁15 小时前
20.设计模式-职责链模式
设计模式