1. 程式人生 > >第2章——策略模式

第2章——策略模式

1、策略模式是一種定義一系列演算法的方法,從概念上來看,所有這些演算法完成的都是相同的工作,只是實現不同,他可以以相同的方式呼叫所有的演算法,減少了各種演算法類與使用演算法類之間的耦合。

2、策略模式的Strategy類層次為Context定義了一系列的可供重用的演算法或者行為,繼承有助於析取出這些演算法中的公共功能。

3、策略模式相對於簡答工廠模式,簡單工廠模式僅僅只是解決物件建立的問題,換句話說工廠內包含了一個超類非常多的子類,而工廠負責根據具體需要來建立對應的子類。工廠僅僅起到了一個選擇建立的作用,客戶端需要同時瞭解超類和工廠類這兩個類。
但是策略模式是直接將使用方法形同執行演算法不同的類抽象出來,然後直接在策略中整合簡單工廠模式,一個類完成介面宣告,演算法選擇於一體。客戶端也只需要瞭解這個策略類即可。比思想與簡單工廠模式近似,但是耦合度更低。