将一个请求封装为一个对象,从而可以对请求排队,记录请求,撤销请求。
举个栗子:
1.创建执行者 Receiver,实现具体命令,如 Action1(), Action2()。
2.创建请求抽象类 Command ,维护一个 Receiver 类型的变量 r 和 Excute()方法。
3.创建具体请求类 ConcreteCommand,Excute中调用 r 的 Action1()或 Action2(),
4.创建唤醒者 Invoker , 负责管理 Command 对象,例如SetOrder(Command c), CancelOrder(Command c), RemoveOrder()。