策略模式,乙個類的行為或其演算法可以在執行時更改。在策略模式中,我們建立表示各種策略的物件和乙個行為隨著策略物件改變,同時策略物件改變context物件的執行演算法。
策略模式是一種比較簡單的模式,也叫做政策模式。定義一組演算法,將每個演算法都封裝起來,並且使它們之間可以互換。
策略模式的目的:定義一系列的演算法,並把它們乙個個的封裝起來,並且使它們之間可以互相替換。
策略模式解決的問題:在多種演算法相似的情況下,使用if...else所帶來的複雜和難以維護。
我們開發的過程中其實經常在使用策略模式,在springmvc中,當通過uri來請求後端某個控制器方法時,如果帶有引數時,就會使用策略模式,因為處理引數的過程演算法過程非常類似,但是由於引數型別的不同處理過程會存在差異,springmvc原始碼中並不是通過乙個個的if...else判斷來確定引數的型別,然後根據具體的引數型別來判斷使用演算法來處理不同的請求引數解析。
初識設計模式 策略模式(Java)
strategy類為所有演算法的父類,其定義了乙個使用者使用介面 algorithminte ce 此介面用於實現各種演算法,將計算後的結果返回給呼叫處。strategya strategyb strategyc表示各種不同的算法子類,他們共同繼承strategy父類,並各自重寫algorithmi...
初識 設計模式二 策略模式
package com.mybatis.strategist public class cash package com.mybatis.strategist public class cashcontext public double getresult double money package ...
設計模式 策略設計模式
策略設計模式其實就是多型的使用,父類引用指向子類物件。策略模式的最大特點是使得演算法可以在不影響客戶端的情況下發生變化,從而改變不同的功能。策略模式的缺點其實也很明顯,在於策略模式把每一種具體的策略都封裝成乙個實現類,如果策略有很多的話,很顯然是實現類就會導致過多,顯得臃腫。案列 author de...