每日一學 23種設計模式之策略模式

2021-10-25 22:36:55 字數 532 閱讀 2644

比如說物件的某個行為,在不同場景中有不同的實現方式,這樣就可以將這些實現方式定義成一組策略,每個實現類對應乙個策略,在不同的場景就使用不同的實現類,並且可以自由切換策略。

滿足軟體開發的開閉原則

開閉原則明確的告訴我們:軟體實現應該對擴充套件開放,對修改關閉,其含義是說乙個軟體實體應該通過擴充套件來實現變化,而不是通過修改已有的**來實現變化的。

例子**

此文件做個梳理,方便以後檢視

汽車的不同檔(concretestrategy)就好比不同的策略,駕駛者選擇幾檔則汽車按幾檔的速度前進,整個選擇權在駕駛者(context)手中。

重入鎖中使用到的策略模式

23種設計模式之策略模式

定義 定義一組演算法,將每個演算法都封裝起來,並且使他們之間可以互換。型別 行為類模式 類圖 策略模式是對演算法的封裝,把一系列的演算法分別封裝到對應的類中,並且這些類實現相同的介面,相互之間可以替換。在前面說過的行為類模式中,有一種模式也是關注對演算法的封裝 模版方法模式,對照類圖可以看到,策略模...

23種設計模式之 策略模式

策略模式也叫政策模式,它是將定義的演算法家族,分別封裝起來,讓他們之間可以相互替換,從而讓演算法的變化不會影響到使用演算法的使用者。public inte ce strategy public class contentstrategya implements strategy public cla...

23種常用設計模式之策略模式

策略模式 strategy pattern 是一種行為型模式,它定義了一組演算法,將每個演算法都封裝起來,並且使它們之間可以互換。角色說明 舉栗上下文角色 context 用來操作策略的上下文環境,遮蔽高層模組 客戶端 對策略,演算法的直接訪問,封裝可能存在的變化 context 抽象策略角色 st...