创建型模式(Creational Patterns)
关注对象的创建过程,封装创建逻辑,避免代码耦合。
模式名称 | 作用简述 |
---|---|
单例模式(Singleton) | 确保一个类只有一个实例,并提供全局访问点 |
工厂方法模式(Factory Method) | 定义创建对象的接口,让子类决定实例化哪一个类 |
抽象工厂模式(Abstract Factory) | 提供创建一系列相关或依赖对象的接口 |
建造者模式(Builder) | 分步骤构建复杂对象,解耦构造过程与表示 |
原型模式(Prototype) | 通过复制已有实例来创建新对象,避免重新初始化 |
结构型模式(Structural Patterns)
关注类与对象的组合方式,解决模块间结构关系。
模式名称 | 作用简述 |
---|---|
适配器模式(Adapter) | 将一个接口转换为客户端期望的另一个接口 |
桥接模式(Bridge) | 分离抽象与实现,使它们可以独立变化 |
组合模式(Composite) | 将对象组合成树形结构,使客户端对单个对象和组合对象使用一致 |
装饰器模式(Decorator) | 动态扩展对象功能,避免继承的复杂性 |
外观模式(Facade) | 为子系统提供统一接口,简化调用 |
享元模式(Flyweight) | 共享细粒度对象,减少内存占用 |
代理模式(Proxy) | 为其他对象提供一种代理以控制访问 |
行为型模式(Behavioral Patterns)
关注对象间通信与职责分配,提高系统灵活性。
模式名称 | 作用简述 |
---|---|
责任链模式(Chain of Responsibility) | 按顺序传递请求直到处理者处理它 |
命令模式(Command) | 将请求封装成对象,使得可以参数化、排队和撤销 |
解释器模式(Interpreter) | 给定语言定义其文法并解释句子(如表达式计算器) |
迭代器模式(Iterator) | 顺序访问聚合对象内部元素而不暴露其内部结构 |
中介者模式(Mediator) | 用中介者对象封装多个对象之间的交互,降低耦合 |
备忘录模式(Memento) | 保存对象内部状态以便恢复 |
观察者模式(Observer) | 当对象状态变化时通知所有依赖对象,实现发布-订阅机制 |
状态模式(State) | 对象在不同状态下行为不同,每个状态封装为一个类 |
策略模式(Strategy) | 定义一系列算法,使它们可以互换 |
模板方法模式(Template Method) | 定义算法骨架,部分步骤延迟到子类实现 |
访问者模式(Visitor) | 在不改变结构的前提下,增加作用于对象的新操作 |
总结
【创建型】 【结构型】 【行为型】
- 单例 - 适配器 - 责任链
- 工厂方法 - 桥接 - 命令
- 抽象工厂 - 装饰器 - 解释器
- 建造者 - 组合 - 迭代器
- 原型 - 外观 - 中介者
- 享元 - 备忘录
- 代理 - 观察者
- 状态
- 策略
- 模板方法
- 访问者