1,策略模式定義
策略模式定義了一系列的算法,并將每一個算法封裝起來,而且使它們還可以相互替換。策略模式讓算法獨立于使用它的客戶而獨立變化。
策略模式的組成:
—抽象策略角色: 策略類,通常由一個接口或者抽象類實現(xiàn)。
—具體策略角色:包裝了相關(guān)的算法和行為。
—環(huán)境角色:持有一個策略類的引用,最終給客戶端調(diào)用。
2,策略模式適場景
(1)多個相關(guān)的類中,僅行為不同,即一個系統(tǒng)中需要在幾個不同的算法中選擇時。比如中出行中,我們選擇交通方式火車、飛機、自行車、汽車等。
(2)一個算法的不同變體時。比如一個收取暖費的算法,不同的收費方式如按房屋面積、按供熱焦耳量、按面積和熱量混合法等 。
(3)不想暴露算法給使用者。比如,有一個復雜算法或算法中有相對應(yīng)的數(shù)據(jù)結(jié)構(gòu)不想讓使用者知道。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26