设计模式
本文最后更新于 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)