码迷,mamicode.com
首页 > 其他好文 > 详细

[设计模式]命令模式

时间:2016-07-31 11:30:59      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

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

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

类图:

技术分享

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

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

参考:《Head First设计模式》

[设计模式]命令模式

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!