設計模式之策略模式學習

1 策略模式簡介

策略模式將可變的部分從程序中抽象分離成算法接口,在該接口下分別封裝一系列算法實現,並使他們可以相互替換,從而導致客戶端程序獨立於算法的改變。

1.1 什麼是組合?

在類中增加一個私有域,引用另一個已有的類的實例,通過調用引用實例的方法從而獲得新的功能,這種設計被稱作組合(複合)。

1.2 策略模式的優點

(1)使用了組合,使架構更加靈活

(2)富有彈性,可以較好的應對變化(開--閉原則)

(3)更好的代碼複用性(性對於繼承)

(4)消除大量的條件語句

1.3 策略模式的缺點

(1)客戶代碼需要了解每個策略實現的細節。

(2)增加了對象的數目

1.4 策略模式使用場景

(1)許多相關的類僅僅是行爲上的差異

(2)運行時選取不同的算法變體。

(3)通過條件語句在多個分支中選取。

可參考博客:https://blog.csdn.net/qq_32175491/article/details/79465496

 

 

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