标签:本质 str and pat 处理 crete receiver 其他 class
命令模式(Command Pattern):将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。
命令模式可以对发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送请求的对象只需要知道如何发送请求,而不必知道如何完成请求。这就是命令模式的模式动机。
public interface CommandI {
void executed();
}
public class Light {
public void on() {
System.out.println("light on");
}
}
public class LightOnCommand implements CommandI {
Light light;
LightOnCommand(Light light) {
this.light = light;
}
public void executed() {
light.on();
}
}
public class RemoteControl {
CommandI slot;
public RemoteControl() {
}
public RemoteControl(CommandI commandI) {
this.slot = commandI;
}
public void buttonOnOrOff() {
slot.executed();
}
}
public class RemoteControlTest {
public static void main(String[] args) {
Light light = new Light();
LightOnCommand lightOnCommand = new LightOnCommand(light);
RemoteControl remoteControl = new RemoteControl(lightOnCommand);
remoteControl.buttonOnOrOff();
}
}
标签:本质 str and pat 处理 crete receiver 其他 class
原文地址:https://www.cnblogs.com/Lollipop_Hsu/p/12051501.html