工廠方法,定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類。
工廠方法是簡單工廠的延申。
在簡單工廠中,如果想要新增新的產品,那麼首先需要新增的乙個具體產品類,在之後需要改變工廠類裡的switch語句,新增判斷。這樣就發現,將寫好的類更改了,這樣其實違反了開閉原則。
為了對其進行修正,採取了工廠方法的模式。將工廠也進行抽象,其下面也有繼承的具體工廠類,每個工廠類對應乙個具體產品的生產。
當然工廠方法的缺點也很明顯,每加乙個產品,就要加乙個對應的工廠,增大的開發量。
所以到底是使用簡單工廠還是工廠方法,還是需要視情況而定。
設計模式 簡單工廠 工廠方法 抽象工廠方法模式
簡介 工廠方法模式分為 簡單工廠模式 工廠方法模式 抽象工廠方法模式 簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法 static factory method 模式,但不屬於23種gof設計模式之一。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的實 uml圖示例 public class ...
設計模式 工廠方法
設計模式 工廠方法 工廠方法與抽象方法 面向介面程式設計可以提高 的靈活性 可以橫向擴充 切忌不能使用面向實現的程式設計,這樣做不便於以後業務的擴充和 的靈活性。工廠方法 就是把 new class 的過程交給 factory來做.構造類的細節不需要我們知道。比如 構造乙個 list 我們可以這樣寫...
設計模式 工廠方法
簡單工廠針對擴充套件時需要修改 違反了ocp 開閉原則 而工廠方法模式在擴充套件時,更滿足ocp。當然比較簡單工廠模式,工廠方法模式有一組實現了相同介面的工廠類,而簡單工廠模式就只有乙個工廠類。和簡單工廠方法一樣,還是以生成汽車為例子。定義要生成的物件的公共介面 public inte ce car...