ZhaoYun.java
上传用户:hensond
上传日期:2021-12-27
资源大小:817k
文件大小:1k
源码类别:

软件工程

开发平台:

Java

  1. /**
  2.  * 
  3.  */
  4. package com.company.section1;
  5. /**
  6.  * @author cbf4Life cbf4life@126.com
  7.  * I'm glad to share my knowledge with you all.
  8.  */
  9. public class ZhaoYun {
  10.  //赵云出场了,他根据诸葛亮给他的交代,依次拆开妙计
  11. public static void main(String[] args) {
  12. Context context;
  13. //刚刚到吴国的时候拆第一个
  14. System.out.println("---刚刚到吴国的时候拆第一个---");
  15. context = new Context(new BackDoor()); //拿到妙计
  16. context.operate();  //拆开执行
  17. System.out.println("nnnnnnnn");
  18. //刘备乐不思蜀了,拆第二个了
  19. System.out.println("---刘备乐不思蜀了,拆第二个了---");
  20. context = new Context(new GivenGreenLight());
  21. context.operate();  //执行了第二个锦囊了
  22. System.out.println("nnnnnnnn");
  23. //孙权的小兵追了,咋办?拆第三个
  24. System.out.println("---孙权的小兵追了,咋办?拆第三个---");
  25. context = new Context(new BlockEnemy());
  26. context.operate();  //孙夫人退兵
  27. System.out.println("nnnnnnnn");
  28. /*
  29.  *问题来了:赵云实际不知道是那个策略呀,他只知道拆第一个锦囊,
  30.  *而不知道是BackDoor这个妙计,咋办?  似乎这个策略模式已经把计谋名称写出来了
  31.  *
  32.  * 错!BackDoor、GivenGreenLight、BlockEnemy只是一个代码,你写成first、second、third,没人会说你错!
  33.  * 
  34.  * 策略模式的好处就是:体现了高内聚低耦合的特性呀,缺点嘛,这个那个,我回去再查查
  35.  */
  36. }
  37. }