设计模式(2) 策略模式--行为型
2016-10-12 10:36
375 查看
定义
策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法独立于使用算法的客户。角色
环境类(Context):用一个ConcreteStrategy对象来配置。维护一个对Strategy对象的引用。可定义一个接口来让Strategy访问它的数据。抽象策略类(Strategy):定义所有支持的算法的公共接口。 Context使用这个接口来调用某ConcreteStrategy定义的算法。
具体策略类(ConcreteStrategy):以Strategy接口实现某具体算法。
类图
示例
典型案例是一个人可以通过火车,自行车,飞机,汽车去旅行。一个接口多个实现。由客户端决定调用哪个实现。public interface IVehicles { void transportWay(); }
public class VehiclesAirplane implements IVehicles { public void transportWay(){ System.out.println("I travel use airplane."); } }
public class VehiclesBike implements IVehicles { public void transportWay(){ System.out.println("I travel use bike."); } }
public class VehiclesCar implements IVehicles { public void transportWay(){ System.out.println("I travel use car."); } }
public class Context { public Context(){ } private IVehicles vehicles; public Context(IVehicles vehicles){ this.vehicles= vehicles; } public void way(){ vehicles.transportWay(); } }
public class Client { public static void main(String[] args) { IVehicles vehicles = new VehiclesAirplane(); Context context = new Context(vehicles); context.way(); } }
相关文章推荐
- 二十四.行为型设计模式——Strategy Pattern(策略模式)
- 设计模式笔记 22. Strategy 策略模式(行为型模式)
- [设计模式笔记]三. 行为型模式--23. Strategy模式(策略)对象行为型模式(一)
- 设计模式 ( 十八 ) 策略模式Strategy(对象行为型)
- 设计模式--行为型--策略模式
- 设计模式之七:Strategy(策略)—对象行为型模式
- 设计模式--行为型-Strategy(策略)
- java设计模式(行为型)之策略模式
- 设计模式22——行为型模式之策略模式
- 设计模式之策略模式(行为型模式)
- 设计模式 ( 十八 ) 策略模式Strategy(对象行为型)
- 设计模式 ( 十八 ) 策略模式Strategy(对象行为型)
- 设计模式 ( 十八 ) 策略模式Strategy(对象行为型)
- [导入]C#面向对象设计模式纵横谈(23):(行为型模式) Strategy 策略模式.zip(8.00 MB)
- 设计模式实战13--行为型--策略模式
- GoF23种设计模式之行为型模式之策略模式
- 设计模式18---设计模式之策略模式(Strategy)(行为型)
- 设计模式之行为型策略模式
- 设计模式---策略模式Strategy(对象行为型)
- C#面向对象模式设计第二十三讲:Startegy 策略模式(行为型模式)