打字猴:1.700465297e+09
1700465297 }
1700465298
1700465299 }
1700465300
1700465301 第三个妙计是在逃跑的时候,让新娘子孙夫人断后,谁来砍谁,这是非常好的主意,如代码清单18-4所示。
1700465302
1700465303 代码清单18-4 孙夫人断后
1700465304
1700465305 public class BlockEnemy implements IStrategy{
1700465306
1700465307 public void operate(){
1700465308
1700465309 System.out.println(“孙夫人断后,挡住追兵”);
1700465310
1700465311 }
1700465312
1700465313 }
1700465314
1700465315 在这个场景中,三个妙计都有了,那还缺少两个配角:第一,妙计肯定要放到一个地方吧,这么重要的东西要保管呀,也就是承装妙计的锦囊,所以俗称锦囊妙计嘛;第二,这些妙计都要有一个执行人吧,是谁?当然是赵云了,妙计是小亮给的,执行者是赵云。赵云就是一个干活的人,从锦囊中取出妙计,执行,然后获胜。过程非常清晰,我们把完整的过程设计出来,如图18-2所示。
1700465316
1700465317
1700465318
1700465319
1700465320 图18-2 完整类图
1700465321
1700465322 在类图中增加了一个Context封装类(也就是锦囊),其作用是承装三个策略,方便赵云使用,我们来看Context代码,如代码清单18-5所示。
1700465323
1700465324 代码清单18-5 锦囊
1700465325
1700465326 public class Context{
1700465327
1700465328 //构造函数,你要使用哪个妙计
1700465329
1700465330 private IStrategy straegy;
1700465331
1700465332 public Context(IStrategy strategy){
1700465333
1700465334 this.straegy=strategy;
1700465335
1700465336 }
1700465337
1700465338 //使用计谋了,看我出招了
1700465339
1700465340 public void operate(){
1700465341
1700465342 this.straegy.operate();
1700465343
1700465344 }
1700465345
1700465346 }
[ 上一页 ]  [ :1.700465297e+09 ]  [ 下一页 ]