strategy pattern: define a family of algorithms, encapsulate each one, and make them interchangeable.
策略模式:定義一組演算法,將每個演算法都封裝起來,並且使他們之間可以互相切換。
策略模式使用的就是物件導向的繼承和多型機制,非常容易理解和掌握。
strategy 抽象策略角色
public
inte***ce strategy
concretestrategy 具體策略角色
public
class
concretestrategy1
implements
strategy
} public
class
concretestrategy2
implements
strategy
}
context 封裝物件
public
class context
//封裝後的策略方法
public
void
doanything()
}
client 場景類
public
class client
}
設計模式的原則和策略
1 開閉原則 2 從背景設計原則 高層模組不應該依賴於底層模組。高層模組和第層模組都應該依賴於抽象。抽象不應該依賴於細節。細節應該依賴於抽象。3 封裝變化原則 4 抽象類與介面 5 理性懷疑原則 兩大強大設計原則 從背景設計 在類中封裝變化 開閉原則 模組 方法和類應該對擴充套件開放,對修改封閉。換...
設計模式 設計模式原則
1 單一職責原則 srp 乙個類應當只有乙個引起其變化的原因。使用單一職責原則的好處有 1 類的複雜性降低 2 可讀性提高 3 可維護性提高 4 變更引起的風險降低 2 黎克特制替換原則 lsp 在使用父類的地方,可以使用其子類替換。黎克特制替換原則的含義 1 子類必須完全實現父類的方法 2 子類可...
設計模式 策略設計模式
策略設計模式其實就是多型的使用,父類引用指向子類物件。策略模式的最大特點是使得演算法可以在不影響客戶端的情況下發生變化,從而改變不同的功能。策略模式的缺點其實也很明顯,在於策略模式把每一種具體的策略都封裝成乙個實現類,如果策略有很多的話,很顯然是實現類就會導致過多,顯得臃腫。案列 author de...