设计模式C++描述----19.命令(Command)模式 (二)

2014-11-24 12:01:36 · 作者: · 浏览: 4
;//Write 命令

Invoker inv; //管理所有命令

inv.AddCmd(cmd1);
inv.AddCmd(cmd2);
inv.Notify(); //通知执行类,执行

inv.DelCmd(cmd1);
inv.Notify();

return 0;
}

二. 命令模式


定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户时行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。

\


优点:

1. 它能比较容易地设计一个命令队列。

2. 在需要的情况下,可以较容易地将命令记入日志。

3. 允许接收请求的一方决定是否要否决请求。

4. 可以容易地实现对请求的撤销和重做。

5. 增加新的具体命令类很容易

6. 把请求一个操作的对象(Command)与知道怎么执行一个操作的对象(Receiver)分割开来。

作者 lwbeyond