命令模式
2017-01-08 21:46:27 0 举报
命令模式是一种行为设计模式,它的核心思想是将一个请求封装成一个对象,从而使用户可以用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式的主要目的是将“请求发送者”与“请求接收者”解耦,让对象之间的调用关系更加灵活、松散。在命令模式中,通常会有一个命令接口,以及实现了该接口的具体命令类。当需要执行某个操作时,客户端会创建一个具体命令类的实例,并将其传递给调用对象(即请求接收者)。调用对象会调用具体命令类的方法来执行相应的操作。
作者其他创作
大纲/内容
Command(命令)为所有命令声明了一个接口。调用命令对象的execute()方法,就可以让Receiver执行相关的动作。这个接口也具备一个undo()方法,用来撤销之前的动作。
ConcreteCommand定义了动作和Receiver之间的绑定关系。Invoker只需要调用execute()就可以发出请求,然后由ConcreteCommand调用Receiver的一个或多个动作。
Receiver
action()
Invoker(调用者)持有一个命令对象,并在某个时间点调用命令对象的execute()方法,将请求付诸实行。
Invoker
setCommand()
Receiver(接收者)知道如何进行必要的工作,实现这个请求。任何类都可以当这个接收者。
Client负责创建一个ConcreteCommand,并设置其Receiver
Client
public void execute() { rteceiver.action();}
ConcreteCommand
execute()undo()
Command
0 条评论
回复 删除
下一页