命令模式
定义:Encapsulate a request as an object,thereby letting you parameterize
clients with different requests,queue or log requests,and support
undoable operations.
(将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。)
组成
- Receive 接收者角色 该角色就是干活的角色,命令传递到这里是应该被执行的,具体到我们上面的例子中就是 Group 的三个实现类(需求组,美工组,代码组)。
- Command 命令角色 需要执行的所有命令都在这里声明。
- Invoker 调用者角色 接收到命令,并执行命令。在例子中,我(项目经理)就是这个角色。
- Concrete Command 具体命令角色,将一个接收者对象绑定于一个动作;调用接收者相应的操作,以实现命令角色声明的执行操作的接口。
- Client 客户角色 创建一个具体命令对象(并可以设定它的接收者)。 <