设计模式深度解析:命令、策略与中介者模式
1. 命令模式概述
命令模式是一种将操作封装成对象的设计模式,这些对象可以在对象之间传递、管理、排序、调度和按需执行。它将操作的调用者与执行者分离,使得操作可以被持久化、恢复,还能实现远程执行。
在命令模式中,一个对象创建一个命令实例,并将其传递给命令执行器,由执行器负责执行该命令。
2. 命令模式的应用场景
命令模式适用于以下场景:
- 为客户端对象指定要执行的操作。
- 在不同时间指定、排队和执行请求,或根据某些标准选择请求。
- 支持操作的撤销和重做。
- 记录操作日志,以便在系统崩溃或损坏时重新应用操作。
- 提供一组高级操作的语义,这些操作可以以适当的方式组合,并基于低级原语操作构建。
3. 命令模式的组成部分
命令模式主要包含以下四个角色:
| 角色 | 描述 |
| ---- | ---- |
| 命令(Command) | 代表命令的抽象概念。 |
| 具体命令(Concrete Command) | 实现特定的命令,由客户端(调用者)提交给命令执行器。 |
| 命令执行器(Command Executor) | 负责管理和执行命令,知道如何执行命令。 |
| 调用者(Invoker) | 负责创建命令并将其提交给命令执行器,可能有多个调用者。 |
以下是命令模式的工作流程 mermaid 流程图:
graph LR
classDef p
命令、策略与中介者模式解析
超级会员免费看
订阅专栏 解锁全文
1495

被折叠的 条评论
为什么被折叠?



