[size=large]命令设计模式:将请求封装成对象,这可以让你使用不同的请求、队列或者日志请求来参数化其他对象。命令模式也可以支持撤销操作。
当需要将发出请求的对象和执行请求的对象解耦的时候使用命令模式。[/size]
代码:
[img]http://dl2.iteye.com/upload/attachment/0130/5926/882dc302-7d08-3e40-8865-642938b0d71e.png[/img]
当需要将发出请求的对象和执行请求的对象解耦的时候使用命令模式。[/size]
代码:
//请求调用者
public class CommandMain {
Command command;
public void setCommand(Command command) {
this.command = command;
}
public void execute(){
command.execute();
}
}
//命令对象
public class LightCommand implements Command{
private Light light;
public LightCommand(Light light){
this.light = light;
}
@Override
public void execute() {
light.on();
}
}
[img]http://dl2.iteye.com/upload/attachment/0130/5926/882dc302-7d08-3e40-8865-642938b0d71e.png[/img]