Skip to content

设计模式

设计模式是软件开发中常见问题的通用可复用解决方案。掌握设计模式有助于写出更优雅、可维护的代码。

设计模式分类

设计模式通常分为三大类:

🏗️ 创建型模式(Creational Patterns)

关注对象的创建机制,将对象的创建与使用分离。

模式说明
单例模式确保类只有一个实例
工厂方法模式定义创建对象的接口,由子类决定实例化哪个类
抽象工厂模式创建相关对象的家族,无需指定具体类
建造者模式分步骤构建复杂对象
原型模式通过克隆创建对象

🔗 结构型模式(Structural Patterns)

关注类和对象的组合,形成更大的结构。

模式说明
适配器模式将一个类的接口转换为客户期望的另一个接口
装饰器模式动态地给对象添加额外的职责
代理模式为其他对象提供一种代理以控制访问
外观模式为子系统提供统一的接口
桥接模式将抽象部分与实现部分分离
组合模式将对象组合成树形结构
享元模式共享细粒度对象以节省内存

🎭 行为型模式(Behavioral Patterns)

关注对象之间的通信和职责分配。

模式说明
策略模式定义算法族,使它们可以互换
观察者模式定义对象间的一对多依赖关系
模板方法模式定义算法骨架,将某些步骤延迟到子类
责任链模式使多个对象都有机会处理请求
命令模式将请求封装为对象
迭代器模式顺序访问聚合对象的元素
状态模式允许对象在内部状态改变时改变行为
备忘录模式捕获对象内部状态,以便恢复
中介者模式用一个中介对象封装对象交互
访问者模式在不修改类的情况下增加新操作

设计原则

学习设计模式前,先了解 SOLID 原则:

原则说明
S - 单一职责一个类只负责一项职责
O - 开闭原则对扩展开放,对修改关闭
L - 里氏替换子类可以替换父类
I - 接口隔离使用多个专门接口
D - 依赖倒置依赖抽象而非具体