Java设计模式——策略模式

策略模式的定义:测试

策略模式其实特别好理解,俗话说得好,条条大路通罗马,作的都是一件事,实现的方式却能够千万种,在这种状况下,如何使得每一个人均可以根据本身的喜爱来选择具体的方式,在调用时能够根据不一样方式的变化而互不影响的变化。this

 

策略模式的实现:spa

1.首先定义一个策略接口。code

2.根据不一样的方式具体的实现这个策略接口。对象

3.在使用策略对象的类中,定义一个该策略接口的引用,经过构造方法完成赋值。blog

 

策略模式的应用:接口

1.定义一个旅行接口
public
interface Travel { public void transportation(); }
2.三个不一样的实现方式,分别为开车、乘火车、乘飞机旅行
class Car implements Travel { public void transportation() { System.out.println("本身开车去欧洲旅行!"); } } class Train implements Travel { public void transportation() { System.out.println("乘火车去欧洲旅行!"); } } class Plane implements Travel { public void transportation() { System.out.println("乘飞机去欧洲旅行!"); } }
3.定义一个对外调用的策略类,经过构造方法引入旅行接口
public class Strategy { private Travel travel; public Strategy(Travel travel) { this.travel = travel; } public void transportation() { travel.transportation(); } }
4.测试不一样的旅行方式
public class StrategyTest { public static void main(String[] args) { Strategy strategy = new Strategy(new Car()); strategy.transportation(); Strategy strategy1 = new Strategy(new Train()); strategy1.transportation(); Strategy strategy2 = new Strategy(new Plane()); strategy2.transportation(); } }
相关文章
相关标签/搜索