引入
引入
Rif🎯 一、创建型模式(Creational Patterns)
核心目的:处理对象的创建过程,封装创建逻辑,解耦对象的使用与创建。
| 模式名称 | 作用简述 |
|---|---|
| Singleton(单例模式) | 保证一个类只有一个实例,并提供全局访问点。 |
| Factory Method(工厂方法) | 定义一个创建对象的接口,由子类决定实例化哪一个类。 |
| Abstract Factory(抽象工厂) | 提供一个创建一系列相关或相互依赖对象的接口。 |
| Builder(建造者模式) | 将复杂对象的构建与表示分离,使同样的构建过程可生成不同表示。 |
| Prototype(原型模式) | 通过复制已有对象(原型)来创建新对象。 |
⚙️ 二、结构型模式(Structural Patterns)
核心目的:处理类或对象之间的组合结构,注重“组合”对象来获得更强功能。
| 模式名称 | 作用简述 |
|---|---|
| Adapter(适配器) | 将一个类的接口转换成客户端期望的接口。 |
| Bridge(桥接) | 将抽象部分与实现部分分离,使它们可以独立变化。 |
| Composite(组合) | 将对象组合成树形结构,统一处理个体和组合对象。 |
| Decorator(装饰器) | 动态添加对象的额外功能,不改变原始结构。 |
| Facade(外观) | 提供统一接口,简化子系统访问。 |
| Flyweight(享元) | 通过共享来有效支持大量细粒度对象。 |
| Proxy(代理) | 为其他对象提供一个代理以控制对它的访问。 |
🔁 三、行为型模式(Behavioral Patterns)
核心目的:处理对象间的交互、职责分配和通信方式。
| 模式名称 | 作用简述 |
|---|---|
| Observer(观察者) | 当对象状态发生变化时,自动通知依赖对象。 |
| Strategy(策略) | 定义一系列算法,并使它们可以互换。 |
| Command(命令) | 将请求封装成对象,实现命令的排队、撤销等操作。 |
| State(状态) | 对象在不同状态下有不同行为,状态转换封装在类中。 |
| Template Method(模板方法) | 定义算法骨架,一些步骤延迟到子类实现。 |
| Chain of Responsibility(责任链) | 将请求沿链传递,直到有对象处理为止。 |
| Mediator(中介者) | 用中介对象封装一组对象之间的交互。 |
| Iterator(迭代器) | 顺序访问集合对象的元素,而不暴露内部结构。 |
| Interpreter(解释器) | 为语言定义文法,并构建解释器解释该语言表达式。 |
| Visitor(访问者) | 为对象结构中的元素添加新的操作而不改变结构。 |
| Memento(备忘录) | 保存对象的某个状态,以便后续恢复。 |
🧠 记忆技巧
- 创建型: 关注“怎么创建”对象 → 单例、工厂、建造、原型。
- 结构型: 关注“怎么组合”对象 → 装饰器、桥接、组合、适配器。
- 行为型: 关注“对象怎么互动” → 策略、观察者、命令、状态机等。