策略模式:它定義了演算法家族,分別封裝起來,讓它們之間可以相互替換,此模式讓演算法的變化,不會影響到使用的演算法客戶。
應用案例:商場**的多樣性(折扣,滿減,積分)
package strategy;
abstract class cashsuper
class cashnormal extends cashsuper
}class cashrebate extends cashsuper
@override
public double acceptcash(double money)
}class cashreturn extends cashsuper
@override
public double acceptcash(double money)
return result; }}
public class cashcontext
} public double getresult(double money)
public static void main(string args)
}
策略模式就是用來封裝演算法的,在實踐中,我們發現可以用來封裝幾乎任何型別的規則,只要在分析中聽到需要在不同時間應用不同的業務規則,就可以考慮使用策略模式處理這種變化的可能性。
讀《大話設計模式》 商場促銷 策略模式
題目 做乙個商場收銀軟體,營業員根據客戶所購買商品的單價和數量,向客戶收費。方案一 用兩個文字框來輸入單價和數量,乙個確定按鈕來算出每種商品的費用,用個列表框來記錄商品的清單,乙個標籤來記錄總計,還需要乙個重置按鈕來重新開始。商場收銀系統v1.0關鍵 double total 0.0d privat...
商場促銷 策略模式(設計模式)
商場收銀時,如何 用打折還是返利,其實都是一些演算法,用工廠來生成演算法物件,這沒有錯,但演算法本身只是一種策略,最重要的是這些演算法是隨時都可能互相替換的,就這點變化,而封裝變化點是我們物件導向的一種很重要的思維方式。來看看策略模式的結構圖和基本 策略模式 strategy 定義了演算法家族,分別...
策略模式 商場促銷
封裝的簡單策略類 ifndef stratege h define stratege h include using namespace std class stratege class concretestrategea public stratege class concretestratege...