package Command;
//执行者
public class Receiver {
public void action (){
System.out.println("执行任务");
}
}
package Command;
public interface Command {
void execute();
}
class ConcreteCommand implements Command{
private Receiver receiver;
public ConcreteCommand(Receiver receiver){
super();
this.receiver=receiver;
}
public void execute() {
//执行前的处理
receiver.action();
}
}
package Command;
public class invoke {
//可以通过容器容纳很多命令,进行批处理
private Command command;
public invoke(Command command) {
this.command = command;
}
//调用命令的方法
public void call(){
command.execute();
}
}
package Command;
public class Client {
public static void main(String[] args) {
Command c= new ConcreteCommand(new Receiver());
invoke i =new invoke(c);
i.call();
new Receiver().action();
}
}
运行结果: