1.名词解释:
命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。
代码:
抽象命令类:
package CommandPattern;
public abstract class Command {
protected Receiver receiver;
public Command(Receiver receiver) {
this.receiver = receiver;
}
public abstract void execute();
}
具体命令类:
package CommandPattern;
public class ConcreateCommand extends Command {
public ConcreateCommand(Receiver receiver) {
super(receiver);
}
public void execute() {
receiver.excute();
}
}
调用类:
package CommandPattern;
import java.util.ArrayList;
import java.util.List;
public class Invoker {
private List<Command> commandList = new ArrayList<Command>();
public void addCommand(Command command) {
if(command == null) {
return;
}
this.commandList.add(command);
}
public void delCommand(Command command) {
if(command == null) {
return;
}
this.commandList.remove(command);
}
public void ExecuteCommand() {
for(Command tmpCommand : commandList) {
tmpCommand.execute();
}
}
}
接收者类:
package CommandPattern;
public class Receiver {
public void excute() {
System.out.println("You are execute command");
}
}