head first Design Pattern Command

1.客户创建一个命令对象 2.客户利用setCommand()将命令对象储存在调用者中。 3.客户要求调用者执行命令。将发出请求的对象和执行请求的对象解耦。
命令模式:将请求封装成对象,以便使用不同的请求、队列或日志来参数化其他对象。命令模式也支持可撤销的操作。一个命令对象通过在特定接收者上绑定一组动作来封装一个请求,将动作和接收者包进对象中,这个对象只暴露出一个execute()方法,当次方方调用的时候,接收者进行对应动作。


当不想判断一个对象是否为空时,可以将所有对象都初始化为一个无意义的对象,但这个对象什么都不做。


命令对象可以将运算块打包(一个接收者和一组动作),然后将它传来传去,就像是一般的对象一样。调用者可以接受命令当做参数,甚至在运行时动态的进行。命令可以支持撤销,做法是实现一个undo()方法来回到execute()被执行前的状态。宏命令是命令的一种简单延伸,允许调用多个命令。命令可以用来实现日志和事务系统。

posted @ 2010-05-10 04:38  莫忆往西  阅读(136)  评论(0编辑  收藏  举报