亦称: 动作、事务、Action、Transaction、Command
命令模式是一种行为设计模式, 它可将请求转换为一个包含与请求相关的所有信息的独立象。 该转换让你能根据不同的请求将方法参数化、 延迟请求执行或将其放入队列中, 且能实现可撤销操作。
命令模式结构
实现
在本例中, 命令模式会记录已执行操作的历史记录, 以在需要时撤销操作。
- Command
- CopyCommand
- PasteCommand
- CutCommand
- UndoCommand
- Editor
- CommandHistory
- Application
适用场景
- 需要通过操作来参数化对象
- 需要将操作放入队列中或者远程执行
- 需要实现回滚功能(实现方案:1. 备份状态;2. 反向操作)
优缺点