命令模式是一种行为设计模式,将命令的调用操作和具体执行解耦。
将一个请求封装成一个对象,用户使用不同的请求,使得能够对请求排队或记录日志,以及支持可撤销的操作。
命令基类定义命令执行Execute方法
1 | class Command { |
具体命令实现Execute方法
1 | // robotic arm |
命令控制器类
1 | class RobotInvoker { |
将一个请求封装成一个对象,用户使用不同的请求,使得能够对请求排队或记录日志,以及支持可撤销的操作。
优点
- 将调用操作的对象与实现该操作的对象解耦。
- 方便扩展,增加新的命令容易,不需要改变已有类。
- 可以将多个命令配成复合指令。