首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

对策模式个人理解

2013-04-20 
策略模式个人理解策略模式把要使用算法的‘客户’,跟具体的‘算法’ 分离开来,这种分离通关了中间的一个接口(

策略模式个人理解

策略模式把要使用算法的‘客户’,跟具体的‘算法’ 分离开来,这种分离通关了中间的一个接口(或抽象类)来实现。一般情况下,会配合简单工厂模式使用,简单工厂模式负责生产不同的对象实例,而策略模式则负责实现不同的对象对应的实现算法。举例如下:   假如小明有自行车、摩托、电动车三种交通工具,三种交通工具发动靠不同的算法实现 自行车双脚一蹬,摩托依靠汽油为动力,电动车依靠充电电池。这三种交通工具都用startMove方法, 我们 把其定义为  public interface RunTools{   public void startMove();}自行车、摩托、电动车分别对应实现了RunAction接口public class Bicycle implements RunTools{   public void startMove(){    //自行车实现  };}public class Moto implements RunTools{   public void startMove(){    //摩托实现  };}public class EBicycle implements RunTools{   public void startMove(){    //电动车实现  };}下面建立生成RunTools实例的工厂类public class RunToolsFactory{  public static RunTools createTools(String type){   if(type.equals("Bicycle")){   return new Bicycle();} if(type.equals("Moto")){   return new Moto();} if(type.equals("EBicycle")){   return new EBicycle();}}}下面创建客户类public class Client{  public void travel(String tools){   RunTools tools = RunToolsFactory.createTools(tools);  tools.startMove();}}

热点排行