1. 程式人生 > >【設計模式】——策略模式(Strategy)

【設計模式】——策略模式(Strategy)

行為型模式——策略模式(Strategy)定義: 它定義了演算法家族,分別封裝起來,讓它們之間可以相互替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。

白話理解:最近雙11的活動大家都深有感觸,尤其是買東西的小夥伴,雙11前的價格、雙11當天的價格、雙11過後的價格、平常的時間的價格等等;出去玩的時候開車、坐車、騎行等等;這些都是策略。在計算機中也是如此,我們現在可以選擇多種多樣的快捷登陸,微信、QQ、微博等等這個時候,我們完全可以使用一個策略模式,定義一個抽像策略,然後把各個請求策略封裝,客戶想使用哪個就使用哪個,非常靈活和方便

策略模式的結構圖 在這裡插入圖片描述 策略模式的優點 1.減少了各種演算法類與使用演算法類之間的耦合 2.Straegy類層為Context定義了一系列的可供重用的演算法或行為。繼承有助與析取出這些演算法中的公共功能 3.簡化了單元測試,因為每個演算法都有自己的類,可以通過自己的介面單獨測試