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(); } }
相關文章
相關標籤/搜索