文档查阅说明:
定义:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能
使用场景:(认为是命令的地方就可以采用命令模式)
● 在GUI开发中,一个按钮的点击是一个命令;
● 模拟DOS命令的时候;
● 触发-反馈机制的处理
public class Recevier {
public void action() {
System.out.println("执行请求");
}
}
public abstract class Command {
private Recevier recevier;
public Recevier getRecevier() {
return recevier;
}
public void setRecevier(Recevier recevier) {
this.recevier = recevier;
}
public abstract void execute();
}
public class ConCreateCommand extends Command {
public ConCreateCommand(Recevier recevier) {
this.setRecevier(recevier);
}
@Override
public void execute() {
this.getRecevier().action();
}
}
public class Invoke {
private Command command;
public Command getCommand() {
return command;
}
public void setCommand(Command command) {
this.command = command;
}
public void executeCommand() {
command.execute();
}
}
public class Test {
public static void main(String[] args) {
Command command = new ConCreateCommand(new Recevier());
Invoke invoke = new Invoke();
invoke.setCommand(command);
invoke.executeCommand();
}
}