设计模式
按目的分为三大类
分类 | 中文名 | 描述 |
---|---|---|
创建型(Creational) | 创建对象的模式 | 主要关注对象的创建过程,封装了对象的实例化过程,使其与使用方式分离。 |
结构型(Structural) | 组装类或对象的模式 | 关注类和对象的组合方式,用来创建更大结构的灵活解决方案。 |
行为型(Behavioral) | 对象间通信和职责分配的模式 | 关注对象之间的通信、职责划分、算法封装等行为层面的实现。 |
23种设计模式
分类 | 模式名称(中文) | 模式名称(英文) |
---|---|---|
创建型 | 单例模式 | Singleton |
工厂方法模式 | Factory Method | |
抽象工厂模式 | Abstract Factory | |
建造者模式 | Builder | |
原型模式 | Prototype | |
结构型 | 适配器模式 | Adapter |
装饰器模式 | Decorator | |
代理模式 | Proxy | |
外观模式 | Facade | |
桥接模式 | Bridge | |
组合模式 | Composite | |
享元模式 | Flyweight | |
行为型 | 观察者模式 | Observer |
策略模式 | Strategy | |
状态模式 | State | |
责任链模式 | Chain of Responsibility | |
命令模式 | Command | |
模板方法模式 | Template Method | |
访问者模式 | Visitor | |
解释器模式 | Interpreter | |
备忘录模式 | Memento | |
中介者模式 | Mediator | |
迭代器模式 | Iterator |
记忆小技巧
- 创建型 关注“怎么创建对象”,像“造房子”:工厂、建造者、原型。
- 结构型 关注“怎么组合结构”,像“装修”:装饰器、桥接、外观。
- 行为型 关注“怎么协作交互”,像“管理”:策略、命令、观察者等。
原则:SOLID 五大原则
原则 | 英文名 | 核心思想 | 示例 |
---|---|---|---|
S:单一职责原则 (SRP) | Single Responsibility Principle | 一个类只负责一项职责(变化的原因只有一个) | 日志类不应该同时负责“日志记录”和“日志显示” |
O:开闭原则 (OCP) | Open-Closed Principle | 对扩展开放,对修改关闭 | 新增支付方式时,只需增加一个类,而不修改原有逻辑 |
L:里氏替换原则 (LSP) | Liskov Substitution Principle | 子类必须能替换父类而程序行为不变 | “长方形继承正方形”违反此原则 |
I:接口隔离原则 (ISP) | Interface Segregation Principle | 不要让类依赖它不需要的接口 | 将“大接口”拆成多个小接口 |
D:依赖倒置原则 (DIP) | Dependency Inversion Principle | 依赖抽象,不依赖具体实现 | 使用接口或抽象类作为依赖注入点 |
了解更多信息,可查阅菜鸟教程。