设计模式

本文最后更新于 2025年10月31日 中午

概念

设计模式(Design Pattern)是软件开发中对于常见问题的通用解决方案的总结。它不是具体的代码,而是一些可复用的设计思路和原则,帮助开发者写出更健壮、可维护、可扩展的程序。

  • 本质:别人踩坑总结出的“最佳实践”
  • 目的:减少重复劳动、提高代码可读性和可维护性
  • 使用场景:当遇到类似的架构或代码问题时,直接套用成熟的模式

分类

创建型模式(解决对象创建问题)

  • 单例模式(Singleton)👉 确保一个类只有一个实例
  • 工厂方法(Factory Method)👉 定义创建对象的接口
  • 抽象工厂(Abstract Factory)👉 生产一系列相关对象
  • 建造者(Builder)👉 复杂对象的分步骤创建
  • 原型模式(Prototype)👉 通过拷贝已有对象来创建新对象

结构型模式(解决对象之间的组合问题)

  • 适配器(Adapter)👉 接口不兼容的类协同工作
  • 装饰器(Decorator)👉 动态地为对象添加新功能
  • 代理(Proxy)👉 控制对对象的访问
  • 外观(Facade)👉 提供统一的接口来访问子系统
  • 组合(Composite)👉 树形结构处理(如文件夹-文件)
  • 桥接(Bridge)👉 分离抽象和实现,提高扩展性
  • 享元(Flyweight)👉 共享对象,减少内存开销

行为型模式(解决对象之间的职责分配问题)

  • 观察者(Observer)👉 发布-订阅机制(如事件监听)
  • 策略(Strategy)👉 算法可以互换
  • 命令(Command)👉 将请求封装成对象(如撤销/重做)
  • 状态(State)👉 对象在不同状态下有不同行为
  • 责任链(Chain of Responsibility)👉 请求沿着链传递,直到被处理
  • 迭代器(Iterator)👉 顺序访问集合对象
  • 模板方法(Template Method)👉 定义算法骨架,子类实现细节
  • 访问者(Visitor)
  • 解释器(Interpreter)
  • 中介者(Mediator)
  • 备忘录(Memento)

实例


设计模式
https://xuekeven.github.io/2025/10/04/设计模式/
作者
Keven
发布于
2025年10月4日
更新于
2025年10月31日
许可协议