1、23中设计模式
| 创建型 | 结构型 | 行为型 | |
|---|---|---|---|
| 类 | 工厂方法 (Factory Method) | 适配器 (Adapter) | 模板方法 (Template Method)、解释器 (Interpreter) |
| 对象 | 抽象工厂 (Abstract Factory) | 桥接 (Bridge) | 策略 (Strategy) |
| 对象 | 原型 (Prototype) | 组合 (Composite) | 命令 (Command) |
| 对象 | 单例 (Singleton) | 装饰 (Decorator) | 职责链 (Chain of Responsibility) |
| 对象 | 建造者 (Builder) | 外观 (Facade) | 状态 (State) |
| 对象 | 享元 (Flyweight) | 观察者 (Observer) | |
| 对象 | 代理 (Proxy) | 中介者 (Mediator) | |
| 对象 | 迭代器 (Iterator) | ||
| 对象 | 访问者 (Visitor) | ||
| 对象 | 备忘录 (Memento) |
2、设计模式详解
- 创建型
- 工厂方法 (Factory Method),创建型类,定义创建对象的接口,子类决定实例化哪个类
- 抽象工厂 (Abstract Factory),创建型对象,创建一系列相关或相互依赖的对象族
- 原型 (Prototype),创建型对象,通过复制现有实例来创建新对象
- 单例 (Singleton),创建型对象,确保一个类只有一个实例,并全局访问
- 建造者 (Builder),创建型对象,分步创建复杂对象,构建与表示分离
- 结构型
- 适配器 (Adapter),结构型类/对象,使接口不兼容的类可以一起工作(类适配器用继承,对象适配器用组合)
- 桥接 (Bridge),结构型对象,抽象与实现解耦,使两者可独立变化
- 组合 (Composite),结构型对象,将对象组织成树形结构表示"部分-整体"层次
- 装饰 (Decorator),结构型对象,动态地为对象附加额外职责
- 外观 (Facade),结构型对象,为子系统提供统一的简化接口
- 享元 (Flyweight),结构型对象,共享细粒度对象,减少内存占用
- 代理 (Proxy),结构型对象,为另一个对象提供替身以控制访问
- 行为型
- 模板方法 (Template Method),行为型类,在父类定义算法骨架,子类实现具体步骤
- 解释器 (Interpreter),行为型类,定义文法及解释器,用于特定语言解析
- 策略 (Strategy),行为型对象,定义一系列算法,使它们可互相替换
- 命令 (Command),行为型对象,将请求封装成对象,支持撤销/重做/队列
- 职责链 (Chain of Responsibility),行为型对象,多个对象链式处理请求,直到有对象处理
- 状态 (State),行为型对象,对象内部状态改变时改变其行为
- 观察者 (Observer),行为型对象,对象间一对多依赖,状态变化时自动通知
- 中介者 (Mediator),行为型对象,封装对象间交互,减少直接耦合
- 迭代器 (Iterator),行为型对象,顺序访问聚合对象元素而不暴露内部结构
- 访问者 (Visitor),行为型对象,在不改变元素类的前提下定义新操作
- 备忘录 (Memento),行为型对象,捕获并外部化对象内部状态,以便恢复
如您在阅读中发现不足,欢迎留言!!!