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

2022-07-26 06:48:11 字數 1227 閱讀 4077

工廠模式

實現了建立者和呼叫者的分離

分類 簡單工廠模式

用來生成同一等級結構中的任意產品(對於增加新的產品,需要修改已有的**)

工廠方法模式

用來生成同一等級結構中的固定產品(支援增加任意產品)

抽象工廠模式

用來生成不同產品族的全部產品(對於增加新的產品,無能為力,支援增加產品族)

物件導向設計的基本原則

ocp開閉原則:乙個軟體的試題應當對擴充套件開放,對修改關閉

dip依賴倒轉原則:要針對介面程式設計,不要針對實現程式設計

lod迪公尺特法則:至於你直接的朋友通訊,而避免和陌生人通訊

核心本質是

例項化物件,用工廠方法代替new操作

將選擇實現類。建立愛你物件統一管理和控制,從而將呼叫者跟我們的

實現類解耦

簡單工廠模式:

要點:簡單工廠模式也叫靜態工廠模式,就是工廠類一般都是用

靜態的方法,通過接收的引數的不同返回不同的物件例項

對於增加的新產品無能為力

//或者是乙個介面

public abstract class operation

//把符號都當做物件處理,實現此介面

public class addoperation extends operation

} public class suboperation extends operation

} .......還有很多一些類

//接下來需要解決的就是物件的建立問題了,既如何根據不同的情況建立不同的物件:我們正好可以通過簡單工廠模式實現

//工廠,來例項化和返回指定的物件

public class operationfactory

return o;

}} operationfactory.getoperation();//傳乙個值

或者在工廠類中定義多個靜態的方法用於返回特定的物件

工廠方法模式

要點:為了避免簡單工廠模式的缺點,不完全滿足ocp

工廠方法模式和簡單工廠模式最大的不同在於,簡單工廠模式只有乙個(對於

乙個專案或者乙個獨立模組而言)工廠類,而工廠方法模式有一組實現了相同介面的工廠類

乙個產品的介面乙個工廠的介面

下面實現了多組產品類和工廠類

乙個產品類對應乙個工廠類

每增加換乙個產品就只需要增加對應該的實現工廠即可,但是還是比較複雜,

不建議使用

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

什麼是設計模式?每乙個模式描述了我們周圍不斷重 生的問題,以及該問題的解決方案的核心。這樣,你就能一次又一次地使用該方案而不必做重複勞動。1.簡單工廠 factory 當看到 new 時,就會想到 具體 pizza pizza new cheesepizza 當有很多種pizza時,我們需要用選擇語...

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

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

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

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