行为型模式
关注对象之间的职责划分和通信方式
行为型模式关注的核心问题是:对象怎么交互。
它描述的是对象之间如何分配职责、如何通信协作,让系统的行为更加灵活、可扩展。
十一种行为型模式一览
| 模式 | 核心思想 | 典型场景 |
|---|---|---|
| 观察者模式 | 一对多通知,状态变化自动广播 | 事件监听、Zustand、Vue 响应式 |
| 策略模式 | 把算法封装成可互换的策略对象 | 排序策略、支付方式选择、表单校验 |
| 模版方法 | 父类定流程,子类填细节 | Spring 的各种 Template、钩子函数 |
| 责任链模式 | 请求沿链条传递,谁能处理谁处理 | Filter 链、中间件、审批流程 |
| 命令模式 | 把请求封装成对象,支持撤销/队列 | 编辑器 undo/redo、任务队列 |
| 状态模式 | 状态变了,行为也跟着变 | 订单状态机、TCP 连接状态 |
| 迭代器模式 | 统一遍历集合的方式 | Java Iterator、JS for...of |
| 备忘录模式 | 保存和恢复对象的历史状态 | 编辑器快照、游戏存档 |
| 中介者模式 | 用中介对象解耦多对多通信 | 聊天室、MVC 中的 Controller |
| 访问者模式 | 不修改类就能增加新操作 | AST 遍历、编译器、文档导出 |
| 解释器模式 | 定义语法并解释执行 | 正则表达式引擎、SQL 解析、EL 表达式 |