1700463241
}
1700463242
1700463243
}
1700463244
1700463245
Command抽象类可以有N个子类,如增加一个功能命令(AddFunCommand),删除一份需求命令(DeleteRequirementCommand)等,这里就不再描述了,只要是由客户产生、时常性的行为都可以定义为一个命令,其实现类都比较简单,读者可以自行扩展。
1700463246
1700463247
客户发送的命令已经确定下来,我们再看负责人Invoker,如代码清单15-10所示。
1700463248
1700463249
代码清单15-10 负责人
1700463250
1700463251
public class Invoker{
1700463252
1700463253
//什么命令
1700463254
1700463255
private Command command;
1700463256
1700463257
//客户发出命令
1700463258
1700463259
public void setCommand(Command command){
1700463260
1700463261
this.command=command;
1700463262
1700463263
}
1700463264
1700463265
//执行客户的命令
1700463266
1700463267
public void action(){
1700463268
1700463269
this.command.execute();
1700463270
1700463271
}
1700463272
1700463273
}
1700463274
1700463275
这更简单了,负责人只要接到客户的命令,就立刻执行。我们模拟增加一项需求的过程,如代码清单15-11所示。
1700463276
1700463277
代码清单15-11 增加一项需求
1700463278
1700463279
public class Client{
1700463280
1700463281
public static void main(String[]args){
1700463282
1700463283
//定义我们的接头人
1700463284
1700463285
Invoker xiaoSan=new Invoker();//接头人就是小三
1700463286
1700463287
//客户要求增加一项需求
1700463288
1700463289
System.out.println(”––––客户要求增加一项需求–––––”);
1700463290
[
上一页 ]
[ :1.700463241e+09 ]
[
下一页 ]