命令模式的目的就是达到命令的发出者和执行者之间(通过命令)解耦,实现请求和执行分开。
public interface Command {
public void exe();
}
#命令-解耦
public class MyCommand implements Command {
private Receiver receiver;
public MyCommand(Receiver receiver) {
this.receiver = receiver;
}
@Override
public void exe() {
receiver.action();
}
}
#命令执行者
public class Receiver {
public void action(){
System.out.println("command received!");
}
}
#命令发起者
public class Invoker {
private Command command;
public Invoker(Command command) {
this.command = command;
}
public void action(){
command.exe();
}
}
public class Test {
public static void main(String[] args) {
Receiver receiver = new Receiver();
Command cmd = new MyCommand(receiver);
Invoker invoker = new Invoker(cmd);
invoker.action();
}
}