Command Mode
2016-12-21 16:38:41 1 举报
命令模式
作者其他创作
大纲/内容
命令模式:将“请求”封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。
Realization
public void SetCommand(Command command){ this.slot = command;}public void ButtonWasPressed(){ this.slot.Execute();}
Receiver
Aggregation
CommandObj
Client
为所以命令声明一个共同的接口,调用命令对象的执行接口,就能让receiver进行相关动作
创建命令对象
LightOnCommand
-light:Light
+LightOnCommand(Light light)+Execute()
Invoker拥有一个命令对象,通过Set获得命令。
Command
+Execute()
Invoker
命令将Receiver和动作绑定在一起
run:RemoteControl remote = new RemoteControl();Light light = new Light();LightOnCommand lightOn = new LightOnCommand(light);remote.SetCommand(lightOn);remote.ButtonWasPressed();
RemoteControl
-slot:Command
+RemoteControl()+SetCommand(Command command)+ButtonWasPressed()
Light
+On();+Off();
Execute
0 条评论
下一页