大话设计模式
字体: 16 + -

第190章

小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