設計模式筆記2:策略模式

1.1  需求

  設計一個商場打折計費的軟件,能夠實現打折,滿300送100等優惠功能。算法

 

1.2 類圖

  

1.3  實現

  咱們先把4個計算的類寫出來。單元測試

 

 View Code

 

  在寫負責建立對象和調用的CashCoxt類測試

 

 View Code

  

  最後調用的代碼:優化

 

 View Code

 

1.4  總結

 

  咱們客戶端的代碼只用到了CashContext類,下降了耦合。 而策略模式的精髓在於:完成同一個功能有不一樣的算法時,咱們把他抽象到父類。而後每個功能都由對應的子類來實現。 再用一箇中間類爲咱們建立對象,調用方法。設計

  這樣的2點好處:    對象

    一、減小了各類算法類之間的耦合。blog

    二、優化了單元測試。軟件

  策略模式就是用來封裝算法的,當咱們實踐中某一個功能有多種實現的算法。咱們就能夠考慮使用策略模式。方法

相關文章
相關標籤/搜索