Command Pattern类图命令模式将请求封装成对象,以便使用不同的请求、队列、或者日志来参数化其他对象。命令模式也支持可撤销的操作。
- 命令模式将发出请求的对象和执行请求的对象解耦。
- 两者间是通过命令对象进行沟通的。命令对象封装了接收者的一个或者一组动作。
- 命令对象持有接收者对象的引用。
- 调用者通过调用命令对象的execute()方法发出请求,使得接收者的动作被调用。
- 命令可以支持撤销,具体做法为接收者对象实现undo()方法回撤状态。
- 宏命令持有一个命令集,实现调用多个命令。
- 命令也可以用来实现日志和事务系统,通过undo()方法实现食物回滚。
网友评论