打字猴:1.700463241e+09
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 ]  [ 下一页 ]