小A:“命令模式怎样与其它模式的配合使用?”
大B:“1、看上边的Invoker的实现是否很像代理模式呢,Invoker的这种实现其实就是一种代理模式。2、需求:有个固定命令组合会多次被执行。解决:加入合成模式,实现方法如下,定义一个宏命令类。”
publicclassMacroCommandimplementsCommand{
privateListcmdList=newArrayList();
publicadd(Commandmand){
cmdList.add(mand);
}
publicremove(Commandmand){
cmdList.remove(mand);
}
publicvoidexecute(){
Commandcmd;
for(inti=0;i