java设计模式概览
Java设计模式总共有23种经典设计模式,由GoF(Gang of Four)在《设计模式:可复用面向对象软件的基础》一书中总结。
三大分类
🏗️ 创建型模式 (Creational Patterns) - 5种
负责对象的创建过程,使系统独立于如何创建、组合和表示对象。- 单例模式 (Singleton) - 确保一个类只有一个实例
- 工厂方法模式 (Factory Method) - 创建对象的接口,由子类决定实例化哪个类
- 抽象工厂模式 (Abstract Factory) - 创建相关对象族的接口
- 建造者模式 (Builder) - 构建复杂对象的过程与表示分离
- 原型模式 (Prototype) - 通过复制现有实例来创建新实例
🔧 结构型模式 (Structural Patterns) - 7种
处理类和对象的组合,描述如何将类或对象结合在一起形成更大的结构。- 适配器模式 (Adapter) - 让不兼容的接口能够协同工作
- 桥接模式 (Bridge) - 将抽象与实现分离
- 组合模式 (Composite) - 将对象组合成树形结构
- 装饰器模式 (Decorator) - 动态地给对象添加功能
- 外观模式 (Facade) - 为子系统提供统一的接口
- 享元模式 (Flyweight) - 有效支持大量细粒度对象
- 代理模式 (Proxy) - 为其他对象提供代理以控制访问
🎯 行为型模式 (Behavioral Patterns) - 11种
关注对象间的通信和职责分配,描述对象和类的交互以及职责分配。- 责任链模式 (Chain of Responsibility) - 将请求沿着处理者链传递
- 命令模式 (Command) - 将请求封装为对象
- 解释器模式 (Interpreter) - 定义语言的文法表示
- 迭代器模式 (Iterator) - 提供顺序访问聚合对象元素的方法
- 中介者模式 (Mediator) - 定义对象间交互的中介
- 备忘录模式 (Memento) - 捕获和恢复对象的内部状态
- 观察者模式 (Observer) - 定义对象间一对多的依赖关系
- 状态模式 (State) - 允许对象在内部状态改变时改变行为
- 策略模式 (Strategy) - 定义算法族并使它们可以互换
- 模板方法模式 (Template Method) - 定义算法骨架,子类实现具体步骤
- 访问者模式 (Visitor) - 在不改变类的前提下定义新操作
📊 统计总览
| 分类 | 数量 | 主要用途 |
|---|---|---|
| 创建型 | 5种 | 对象创建 |
| 结构型 | 7种 | 对象组合 |
| 行为型 | 11种 | 对象交互 |
| 总计 | 23种 | 经典GoF模式 |
🌟 常用程度分级
高频使用 (⭐⭐⭐⭐⭐)
- 单例模式
- 工厂方法模式
- 观察者模式
- 策略模式
- 装饰器模式
中频使用 (⭐⭐⭐⭐)
- 适配器模式
- 代理模式
- 建造者模式
- 模板方法模式
- 命令模式
低频使用 (⭐⭐⭐)
- 抽象工厂模式
- 组合模式
- 外观模式
- 状态模式
- 责任链模式
特殊场景 (⭐⭐)
- 原型模式
- 桥接模式
- 享元模式
- 迭代器模式
- 中介者模式
- 备忘录模式
- 解释器模式
- 访问者模式
🎯 学习建议
- 先掌握高频模式 - 从实际开发中最常用的开始
- 理解分类特点 - 每一类模式解决的问题类型不同
- 结合实际项目 - 在真实场景中应用和理解
- 循序渐进 - 不要试图一次性掌握所有模式

浙公网安备 33010602011771号