4 命令队列的实现
[java] view plaincopy
-
import
java.util.*; -
-
class
CommandQueue { -
//定义一个ArrayList来存储命令队列 -
private ArrayList newcommands = ArrayList(); -
-
public void addCommand(Command command) { -
commands.add(command); -
} -
-
public void removeCommand(Command command) { -
commands.remove(command); -
} -
-
//循环调用每一个命令对象的execute()方法 -
public void execute() { -
for (Object command : commands) { -
((Command)command).execute(); -
} -
} - }
[java] view plaincopy
-
class
Invoker { -
private CommandQueue //维持一个CommandQueue对象的引用commandQueue; -
-
//构造注入 -
public Invoker(CommandQueue commandQueue) { -
this. commandQueue = commandQueue; -
} -
-
//设值注入 -
public void setCommandQueue(CommandQueue commandQueue) { -
this.commandQueue = commandQueue; -
} -
-
//调用CommandQueue类的execute()方法 -
public void call() { -
commandQueue.execute(); -
} - }
【作者:刘伟