2011/04/26

[Design Patterns] 策略模式(Strategy)


參考 大話設計模式
定義:它定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。
使用時機:需要再不同時間應用不同的業務規則。
另一種說法:商場隨時會有一些特惠活動,比方說紅利或是打折,但是這些活動隨時會變動的,然而我們就要封裝變化點。

結構圖:來源
2011-4-26 下午 11-09-15
說明:
Context:用一個 ConcreteStrategy 來配置,維護一個對 Strategy  物件的引用。
Strategy:策略介面,定義所有支援演算法的公用介面。

程式碼:
ICash.cs
2011-4-26 下午 11-16-06
CashNormal.cs
2011-4-26 下午 11-17-11
CashRebate.cs
2011-4-26 下午 11-18-13
CashReturn.cs
2011-4-26 下午 11-19-03
CashContext.cs
2011-4-26 下午 11-26-23
前端示意
2011-4-26 下午 11-29-26

0 Comments:

張貼留言