行为模式-命令模式

命令模式(Command)




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




适用性:
当你有如下需求时, 可使用Command模式:
1)...
2)在不同的时刻指定、排列和执行请求.
3)支持取消操作
4)支持修改日志, 这样当系统崩溃时, 这些修改可以被重新做一遍.
5)用构建在原语操作上的的高层操作构造一个系统.




效果:
Command模式有以下效果:
1)Command模式将调用操作的对象与知道如何实现该操作的对象解耦
2)Command是头等的对象. 它们可像其他的对象一样被操作和扩展
3)你可将多个命令装配成一个复合命令
4)增加新的Command很容易, 因为这无需改变已有的类.




实现:
实现Command模式时须考虑以下问题:
1)一个命令对象应达到何种智能程度
2)支持取消(undo)和重做(redo)
3)避免取消操作过程中的错误积累

4)使用C++模板



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值