1 前言
面向對象軟件設計中,我們可以把相關算法分離為不同的類,成為策略。與這種做法有關的一種設計模式成為策略模式。
2 詳述
2.1 簡述
策略模式中得一個關鍵角色是策略類,它為所有支持的或相關的算法聲明了一個共同接口。另外,還有使用策略接口來實現相關算法的具體策略類。場景類的對象配置有一個具體策略對象的實例,場景對象使用策略接口調用由具體策略類定義的算法。
定義一系列算法,把他們一個個封裝起來,並且使他們可相互替換,本模式使得算法可獨立於使用它的客戶而變化。
2.2 何時使用
(1)一個類在其操作中使用多個條件語句來定義許多行為。我們可以把相關的條件分支移到他們自己的策略類中。
(2)需要算法的各種變體。
(3)需要避免把重復的,與算法相關的數據結構暴露給客戶端。
3 結語
以上是所有內容,希望對大家有所幫助。