您的位置:首页 > 其它

行为模式-命令模式

2013-05-26 10:20 239 查看
命令模式(Command)

意图:

将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求

排队或记录请求日志,以及支持可撤销的操作。

适用性:

当你有如下需求时, 可使用Command模式:

1)...

2)在不同的时刻指定、排列和执行请求.

3)支持取消操作

4)支持修改日志, 这样当系统崩溃时, 这些修改可以被重新做一遍.

5)用构建在原语操作上的的高层操作构造一个系统.

效果:

Command模式有以下效果:

1)Command模式将调用操作的对象与知道如何实现该操作的对象解耦

2)Command是头等的对象. 它们可像其他的对象一样被操作和扩展

3)你可将多个命令装配成一个复合命令

4)增加新的Command很容易, 因为这无需改变已有的类.

实现:

实现Command模式时须考虑以下问题:

1)一个命令对象应达到何种智能程度

2)支持取消(undo)和重做(redo)

3)避免取消操作过程中的错误积累

4)使用C++模板

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: