java设计模式概览

Java设计模式总共有23种经典设计模式,由GoF(Gang of Four)在《设计模式:可复用面向对象软件的基础》一书中总结。

三大分类

🏗️ 创建型模式 (Creational Patterns) - 5种

负责对象的创建过程,使系统独立于如何创建、组合和表示对象。
  1. 单例模式 (Singleton) - 确保一个类只有一个实例
  1. 工厂方法模式 (Factory Method) - 创建对象的接口,由子类决定实例化哪个类
  1. 抽象工厂模式 (Abstract Factory) - 创建相关对象族的接口
  1. 建造者模式 (Builder) - 构建复杂对象的过程与表示分离
  1. 原型模式 (Prototype) - 通过复制现有实例来创建新实例

🔧 结构型模式 (Structural Patterns) - 7种

处理类和对象的组合,描述如何将类或对象结合在一起形成更大的结构。
  1. 适配器模式 (Adapter) - 让不兼容的接口能够协同工作
  1. 桥接模式 (Bridge) - 将抽象与实现分离
  1. 组合模式 (Composite) - 将对象组合成树形结构
  1. 装饰器模式 (Decorator) - 动态地给对象添加功能
  1. 外观模式 (Facade) - 为子系统提供统一的接口
  1. 享元模式 (Flyweight) - 有效支持大量细粒度对象
  1. 代理模式 (Proxy) - 为其他对象提供代理以控制访问

🎯 行为型模式 (Behavioral Patterns) - 11种

关注对象间的通信和职责分配,描述对象和类的交互以及职责分配。
  1. 责任链模式 (Chain of Responsibility) - 将请求沿着处理者链传递
  1. 命令模式 (Command) - 将请求封装为对象
  1. 解释器模式 (Interpreter) - 定义语言的文法表示
  1. 迭代器模式 (Iterator) - 提供顺序访问聚合对象元素的方法
  1. 中介者模式 (Mediator) - 定义对象间交互的中介
  1. 备忘录模式 (Memento) - 捕获和恢复对象的内部状态
  1. 观察者模式 (Observer) - 定义对象间一对多的依赖关系
  1. 状态模式 (State) - 允许对象在内部状态改变时改变行为
  1. 策略模式 (Strategy) - 定义算法族并使它们可以互换
  1. 模板方法模式 (Template Method) - 定义算法骨架,子类实现具体步骤
  1. 访问者模式 (Visitor) - 在不改变类的前提下定义新操作

📊 统计总览

分类数量主要用途
创建型 5种 对象创建
结构型 7种 对象组合
行为型 11种 对象交互
总计 23种 经典GoF模式

🌟 常用程度分级

高频使用 (⭐⭐⭐⭐⭐)

  • 单例模式
  • 工厂方法模式
  • 观察者模式
  • 策略模式
  • 装饰器模式

中频使用 (⭐⭐⭐⭐)

  • 适配器模式
  • 代理模式
  • 建造者模式
  • 模板方法模式
  • 命令模式

低频使用 (⭐⭐⭐)

  • 抽象工厂模式
  • 组合模式
  • 外观模式
  • 状态模式
  • 责任链模式

特殊场景 (⭐⭐)

  • 原型模式
  • 桥接模式
  • 享元模式
  • 迭代器模式
  • 中介者模式
  • 备忘录模式
  • 解释器模式
  • 访问者模式

🎯 学习建议

  1. 先掌握高频模式 - 从实际开发中最常用的开始
  1. 理解分类特点 - 每一类模式解决的问题类型不同
  1. 结合实际项目 - 在真实场景中应用和理解
  1. 循序渐进 - 不要试图一次性掌握所有模式
posted @ 2025-06-08 10:44  予真  阅读(32)  评论(0)    收藏  举报