策略模式(strategy)---行為型設計模式
定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。
cashsuper: 收費計算策略抽象類正常收費類: 正常收費。acceptcash() 辦法 直接返回金額
打折收費類: 需要在構造器中初始化打折引數 在acceptcash() 辦法進行打折計算
滿多少返利類:需要在構造器中初始化 滿多少條件 引數。返利多少 引數,在acceptcash() 辦法進行計算。滿足條件,總金額-返利金額=返回金額。客戶端使用的時候。只需要 new cashcontext(「判斷引數」)。然後呼叫 getresult()。得到最終的計算結果。因為 cashcontext 類的構造器根據傳入的引數已經得到了具體的計算策略物件了。24種設計模式 策略模式
定義一組演算法,將每個演算法都封裝起來,使它們之間可以互換。策略模式和 模式差別就是策略模式的封裝角色和被封裝的策略類不用是同乙個介面。如果是同乙個介面那就是 模式了。一 趙雲使用三個錦囊 1.妙計介面 public inte ce istrategy2.喬國老開後門 public class ba...
24種設計模式學習筆記之組合模式
組合模式 composite pattern 結構型設計模式 也稱為 整體 部分 part whole 模式,它的宗旨是通過將單個物件 葉子節點 和組合物件 樹枝節點 用相同的介面進行表示,使得客戶對單個物件和組合物件的使用具有一致性。組合模式 一般用來描述 整體 與 部分 的關係,它將物件組織到樹...
24種設計模式學習筆記之模板方法模式
模板方法模式 行為型設計模式 定義乙個操作中的演算法的框架,而將一些步驟延遲到子類中。使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。模板方法模式 template method pattern 實際上是封裝了乙個固定流程,該流程由幾個步驟組成,具體步驟可以由子類進行不同實現,從...