行为型模式
本章为概览。深入讲解见 设计模式专题。
核心要点
行为型模式解决的是 对象怎么协作 的问题——定义对象间的通信和职责分配。
| 模式 | 一句话 | 适用场景 |
|---|---|---|
| 策略 | 封装可互换的算法 | 多种支付方式、排序策略 |
| 观察者 | 一对多通知 | 事件驱动、消息推送 |
| 模板方法 | 固定流程,子类实现细节 | 框架设计、流程标准化 |
| 责任链 | 请求沿链传递 | 过滤器、审批流程 |
| 命令 | 将请求封装为对象 | 撤销/重做、任务队列 |
| 状态 | 状态决定行为 | 订单状态机、TCP 连接 |
| 中介者 | 集中管理交互 | 聊天室、表单联动 |
选型决策
txt
需要协调对象行为
├─ 算法可替换 → 策略
├─ 一对多通知 → 观察者
├─ 流程固定,细节可变 → 模板方法
├─ 请求可能被拦截 → 责任链
├─ 需要撤销/队列 → 命令
├─ 行为随状态变化 → 状态
└─ 多对象交互复杂 → 中介者