命令模式就是把一个请求或者操作封装到一个对象中,命令模式允许系统使用不同的请求把客户端参数化,
对请求排队或者记录请求日志。
通俗来讲就是封装到一个有序的对象,按顺序依次调用。
直接上演示代码(银行窗口排队):
// 定义一个命令接口
public interface Command {
public void execute();
}
// 银行普通窗口
public class CommonWindow implements Command{
public void execute() {
System.out.println("普通窗口,办理普通存取款业务");
}
}
// 银行VIP窗口
public class VipWindow implements Command{
public void execute() {
System.out.println("VIP窗口,办理VIP存取款业务");
}
}
// 取号机示意代码
public class Lotto {
private List<Command> list = new ArrayList<Command>();
public void doCommand(){
for(int i =0;i < list.size();i++) {
Command com = list.get(i);
com.execute();
}
}
public void addCommand(Command com){
list.add(com);
}
}
// 客户端示意代码
public class Client {
public static void main(String[] args) {
Command commonWindow = new CommonWindow();
Command vipWindow = new VipWindow();
Lotto lotto = new Lotto();
lotto.addCommand(commonWindow);
lotto.addCommand(vipWindow);
lotto.doCommand();
}
}
演示结果:
普通窗口,办理普通存取款业务
VIP窗口,办理VIP存取款业务
学习交流用!!!!