隨筆 設計模式 工廠模式

2021-08-07 10:16:45 字數 1248 閱讀 3496

工廠模式和抽象工廠模式是在日常開發中使用非常廣泛的設計模式。主要用於實現將物件的例項化部分取出來,進而優化系統架構,增強系統的擴充套件性。

用工廠方法來代替 new 操作

工廠模式包括工廠方法模式和工廠抽象模式;抽象工廠模式是工廠方法模式的擴充套件

1:定義乙個介面來建立物件,讓子類來決定哪些類需要被例項化

2:工廠方法把例項化的操作推遲到子類中去操作

1:有一組類似的物件需要被建立

2:在編碼時不可預見需要建立哪些類的例項

3:系統需要考慮擴充套件性,不應依賴於產品類例項如何被建立、組合和表達的細節

1:盡量松耦合,乙個物件的依賴物件的變化與本身無關

2:具體產品和客戶端剝離,責任分割

1:工廠方法模式:

1:建立乙個介面,例:personinte***ce ,介面中有建立男人和女人的方法

2:建立兩個類,man、woman,建立乙個personfactory,實現了 personinte***ce 介面

3:在 personfactory 中的man、woman方法中例項化man、woman物件

4:**如下:

personfactory factory = new personfactory;

man man = factory.createman();

2:抽象工廠模式

1:建立兩個介面,乙個 maninte***ce,乙個 womaninte***ce,介面裡面都有 skin **的方法

2:建立兩個類,乙個 yellowman,實現了 maninte***ce,乙個 whitewoman,實現了 womaninte***ce;skin 方法中輸出:我有 *** **

3:建立乙個 personfactory 介面,裡面有 getyellowman 方法和 getwhitewoman 方法

4:建立乙個 yellowfactory 類和 whitefactory 類,並且實現了 personfactory 介面;重寫裡面的 get*** 方法,得到 yellowman 和 whitewoman

具體案例見:

簡單工廠模式隨筆

簡單工廠模式是一種建立模式,主要是通過乙個靜態函式,根據不同的傳入引數返回不同類的例項。涉及到乙個超類和多個產品類,優點是方便了類的建立管理,實現簡單,缺點是當需要新加產品類時,需要修改工廠類的 一定程度上違反的 開閉原則 public abstract gun 超類槍 public ak47 gu...

設計模式 工廠模式 抽象工廠模式

建立物件時不會對客戶暴露建立邏輯,並且通過使用乙個共同的介面來指向建立的物件。sept1 建立乙個公共介面,將要對外開放的方法在這裡定義。sept2 建立實現介面的類,用即實現對外開放的類的方法 sept3 建立工廠,提供乙個get方法,這個方法提供返回實現類的物件 建立選擇 sept4 使用,建立...

設計模式 工廠設計模式

用於建立物件的介面,交給子類去實現 我們舉乙個生產nokia的例子 public abstract class nokiaphone先試定義了乙個抽象類,抽象出方法poweronphone 模擬手機開機的動作 public class nokia5200 extends nokiaphone pub...