設計模式之工廠模式(建立型)

2021-06-26 06:51:50 字數 823 閱讀 1635

什麼是設計模式?

每乙個模式描述了我們周圍不斷重**生的問題,以及該問題的解決方案的核心。這樣,你就能一次又一次地使用該方案而不必做重複勞動。

1.簡單工廠(****** factory)

當看到「new」時,就會想到「具體」。pizza pizza = new cheesepizza();當有很多種pizza時,我們需要用選擇語句來建立物件。但是如果有很多地方都要呼叫這段**時,我們是不是把這段**放到乙個簡單工廠比較合適?

2.工廠方法(factory method) (物件建立型模式)

定義了乙個建立物件的介面,但由子類決定要例項化的類是哪乙個。工廠方法讓類把例項化推遲到子類。

適用性當乙個類不知道它所必須建立的物件的類的時候。

當乙個類希望由它的子類來指定它所建立的物件的時候。

3抽象工廠(abstract factory)(物件建立型模式)

提供乙個介面,用於建立相關或依賴物件的家族,而不需要明確指定具體類。

透過這張圖看著是不是有點眼熟啊?沒錯啊,抽象工廠裡面隱藏著工廠方法啊。所以理解起來就簡單了。

個人認為只要記住了這三張圖,遇到類似的問題時就會用了。

設計原則

要依賴抽象,不要依賴具體。

設計模式 建立型之工廠模式

讓乙個單獨的類專門實現乙個方法,根據傳入的型別引數建立不同型別的物件,並返回他們的抽象,這種建立物件的模式叫做工廠模式 工廠模式分為簡單工廠模式 工廠方法模式和抽象工廠模式 工廠模式將不同子類的例項化的過程封裝在單獨的類,讓子類只專注於實現,實現了功能解耦 簡單工廠模式由三部分組成 父類介面 pub...

設計模式之建立型 工廠模式

工廠模式 實現了建立者和呼叫者的分離 分類 簡單工廠模式 用來生成同一等級結構中的任意產品 對於增加新的產品,需要修改已有的 工廠方法模式 用來生成同一等級結構中的固定產品 支援增加任意產品 抽象工廠模式 用來生成不同產品族的全部產品 對於增加新的產品,無能為力,支援增加產品族 物件導向設計的基本原...

設計模式 建立型之簡單工廠模式

簡單工廠模式又叫靜態工廠模式。首先,它並不屬於23種gof模式,23種gof中只有工廠模式和抽象工廠模式,但簡單工廠模式是工廠模式和抽象工廠模式的基礎,能更有助於我們理解後面兩者。簡單工廠模式的主要目的是通過不同引數獲取不同類的例項,它的主要實現原理是專門定義乙個工廠類,來建立其他類的例項,被建立的...