评论

王者荣耀之「策略模式」

重学设计模式

召唤师技能接口

public interface 召唤师技能 { 

public void 技能();

}

具体实现

public class 治疗术 implements 召唤师技能 {

public void 技能(){
  //为你的英雄和附近的友军回复生命值。
};

}

英雄类

public class 英雄 {

   public void 召唤师技能(召唤师技能 技能){
      技能变量.技能();
   }
}

客户端

public class 客户端 { 
public static void main(String[] args) { 
//选择并创建需要使用的策略对象 
召唤师技能 我的治疗术 = new 治疗术(); 
//创建环境 
英雄 我的李白 = new 李白(); 
//使用策略
我的李白.召唤师技能(我的治疗术);
 }
}

注意:以上代码块用中文编写类名、变量名是为了让大家更好的理解,在实战过程中记得替换成相对应的英文。

总结

这就是所谓的「策略模式」了,定义了算法(召唤师技能接口),分别封装起来(具体的实现类:传送、治疗术),让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

点赞 4
收藏
评论
登录 后发表内容