定义:
将一个请求封装成一个对象,因此可以参数化多个客户的不同请求,将请求排队,记录请求日志,并且支持撤销操作。(来自:《深入浅出设计模式》莫勇腾)
应用情景:(来自:《深入浅出设计模式》莫勇腾)
- 当你需要与动作有关的对象来作为参数。
- 你需要在不同的时间创建请求,生成请求队列,执行请求。
- 你需要支持取消、保存修改日志或处理事务(事务包括大量修改的数据)功能。
- 你需要支持宏命令。
注:司机不必关注加速的细节,只需要发出一个命令即可实现加减速。命令可以是连续的(队列操作),重复的,可撤销的操作。
源代码:Command Pattern