設計模式--strategy pattern

策略設計模式:定義了算法組,分別封裝起來,讓他們之間可以互相替換,此模式讓算法的變化獨立於使用算法的客戶。


個人理解它的應用場景:一個類下面有很多的子類,同時子類的屬性個數和實現存在差異。


         當使用繼承的時候,很多父類沒有的屬性或方法都會被子類繼承;那麼很自然的想到使用接口實現父類,可以解決子類繼承不屬於自己方法的問題,但是接口不能實現代碼的複用,這樣每個子類都需要依次實現自己的接口方法,代碼的重複率會很高。


         那怎麼辦呢?繼承和接口都有不足之處。這時候,我們可以把代碼中會變得部分提取出來,然後針對接口編程,在父類中定義會變化接口類爲它的一個屬性,當子類實現父類的時候,會根據該屬性的實現類,找到相應的方法。


        總結起來就是,把代碼中會變得部分,抽象獨立出來。


        


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章