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
}
1700465347
1700465348
通过构造函数把策略传递进来,然后用operate()方法来执行相关的策略方法。三个妙计有了,锦囊也有了,然后就是赵云雄赳赳地揣着三个锦囊,拉着已步入老年行列的、还想着娶纯情少女的刘老爷子去入赘了。嗨,还别说,小亮同志的三个妙计还真是不错,如代码清单18-6所示。
1700465349
1700465350
代码清单18-6 使用计谋
1700465351
1700465352
public class ZhaoYun{
1700465353
1700465354
//赵云出场了,他根据诸葛亮给他的交代,依次拆开妙计
1700465355
1700465356
public static void main(String[]args){
1700465357
1700465358
Context context;
1700465359
1700465360
//刚刚到吴国的时候拆第一个
1700465361
1700465362
System.out.println(”–刚刚到吴国的时候拆第一个–”);
[
上一页 ]
[ :1.700465313e+09 ]
[
下一页 ]