1,策略模式定義

策略模式定義了一系列的算法,并將每一個算法封裝起來,而且使它們還可以相互替換。策略模式讓算法獨立于使用它的客戶而獨立變化。

策略模式的組成: 

—抽象策略角色: 策略類,通常由一個接口或者抽象類實現(xiàn)。 

—具體策略角色:包裝了相關(guān)的算法和行為。 

—環(huán)境角色:持有一個策略類的引用,最終給客戶端調(diào)用。 

2,策略模式適場景

 (1)多個相關(guān)的類中,僅行為不同,即一個系統(tǒng)中需要在幾個不同的算法中選擇時。比如中出行中,我們選擇交通方式火車、飛機、自行車、汽車等。

(2)一個算法的不同變體時。比如一個收取暖費的算法,不同的收費方式如按房屋面積、按供熱焦耳量、按面積和熱量混合法等 。

(3)不想暴露算法給使用者。比如,有一個復雜算法或算法中有相對應(yīng)的數(shù)據(jù)結(jié)構(gòu)不想讓使用者知道。

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設(shè)計培訓,網(wǎng)站建設(shè)培訓學習是年輕人改變自己的最好方式