基本上的框架搭好了下面假设我们用一个类似groovy的脚本来写某个target我们的目标是先取得当前时间然后打印出这个时间然后调用javac最后在程序结束后打印程序结束的信息
java代码
new BoundCommand(
new GetTimeCommand()
new CommandBinder(){
public Command bind(Object v){
final Command c = new PrintCommand(build time is +v);
final Command javacc = new JavaCCommand();
final Command done = new PrintCommand(build successful);
return new SeqCommand(c new SeqCommand(javacc done));
}
}
);
上面的代码先调用GetTimeCommand取得当前时间然后把这个实现传递到这个匿名类中去这个匿名类根据这个时间创建了下一步的command c
接下来它调用两次SeqCommand来表达两次顺序执行
最终当这个command被执行的时候它就会完成我们上面要求的几个步骤
[] [] [] [] [] [] [] [] [] [] []