首页 > 其他 > 详细

[设计模式]命令模式

时间:2016-07-31 11:27:46      阅读:262      评论:0      收藏:0      [点我收藏+]

命令模式将“请求”封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。

命令模式把方法调用封装起来,所以调用此方法的对象不需要关心事情是如何进行的,只要知道如何使用包装成成形的方法类完成就可以。用命令对象来说就是,命令对象将动作和接收者包装其中,这个对象对外只暴露一个execute()方法,当此方法被调用的时候,接收者会进行这个具体动作,但是外面的其他对象不知道究竟哪个接收者进行了什么动作,只知道调用execute()方法就会达到请求的目的。

类图:

技术分享

撤销功能的实现,命令接口加入一个undo()方法就可以。并使调用者保存前一次的命令或者所有的命令堆栈。

还可以制造一个新命令执行其他一堆命令,只要命令对象包含一个命令对象列表,在execute()方法中循环调用这个列表中每个命令对象的execute()方法即可。

参考:《Head First设计模式》

[设计模式]命令模式

原文:http://www.cnblogs.com/belloworld/p/5722570.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!