設(shè)計模式:策略模式
2021-05-07 22:40 作者:做架構(gòu)師不做框架師 | 我要投稿
什么是策略模式?
策略模式(英文:Strategy Pattern),定義了一系列算法,并將每個算法封裝起來,使它們可以相互替換,且算法的改變不會影響使用算法的客戶。

一句話歸納
條條大道通羅馬,具體哪條你決定
代碼示例
我所在的公司是一家電商公司,電商公司在每一個節(jié)日都會搞一些促銷活動,比如“618”、“雙11”、“年貨節(jié)”等等;在這些促銷活動還會有不同的促銷手段,比如“全場滿減”、“滿折”、“拼團”等等,而對于我們程序員來講,每一次促銷活動都是一次對系統(tǒng)的大考。
類與類之間的關(guān)系如下:

具體代碼如下所示:

適用性
以下我建議你考慮使用:
算法可以自由切換的時候;
多個類在算法和行為上稍稍不同的時候;
算法相對獨立,并且要對客戶端隱藏具體的實現(xiàn)細(xì)節(jié)的時候;
比如支付渠道:有支付寶、微信、銀聯(lián)支付;快遞有順豐、中通、京東等等。
局限性
以下我建議你謹(jǐn)慎使用:
每一個策略都是一個類,復(fù)用的可能性小,類會增多;
客戶端必須知道每一個策略之間的區(qū)別,以便在合適的場景選擇恰當(dāng)?shù)牟呗浴?/p>

寫在最后
最后,好兄弟,記得點贊,關(guān)注,謝謝。

標(biāo)簽: