引入

🎯 一、创建型模式(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(备忘录) 保存对象的某个状态,以便后续恢复。

🧠 记忆技巧

  • 创建型: 关注“怎么创建”对象 → 单例、工厂、建造、原型。
  • 结构型: 关注“怎么组合”对象 → 装饰器、桥接、组合、适配器。
  • 行为型: 关注“对象怎么互动” → 策略、观察者、命令、状态机等。