設計模式 工廠系列

2021-06-21 20:01:21 字數 876 閱讀 7633



簡單工廠:

特點:工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,客戶端中避免了和具體產品的依賴。

缺點:當要繼續增加運算類時,需要在工廠類中增加相應的邏輯。違背了開放

-封閉原則。

工廠方法:

特點:對每乙個產品都有對應的工廠,當增加新產品

(在這裡就是增加運算類

)時,只需要增加運算類和相應工廠,不需要修改,彌補了簡單工廠的不足。由子類決定例項化哪乙個類,使乙個類的例項化延遲到其子類。

缺點:當產品數量過多時,會造成工廠氾濫。

客戶端**:

ifactory factory = new addfactory();

operation oper = factory.createoperation();

double result = oper.getresult();

抽象工廠:

特點:支援一系列產品的擴充套件及建立。產品系列的交換容易。

客戶端**:

ifactory factory = new sqlserver

factory();

iuser user = factory.createuser();

idepartment dep = factory.createuser();

JAVA系列 設計模式 工廠模式

定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。類圖 這個我們平時接觸的比較多了,直接看 吧。注意要區分和抽象工廠的區別。抽象工廠設計模式 package factory 定義工廠方法所建立的物件的介面。author administrator public inte ce iworkf...

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

如圖,factorya專心負責生產producta,factoryb專心負責生產productb,factorya和factoryb之間沒有關係 如果到了後期,如果需要生產productc時,我們則可以建立乙個factoryc工廠類,該類專心負責生產productc類產品。由於factorya fa...

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

抽象工廠模式為建立一組物件提供了一種解決方案。與工廠方法模式相比,抽象工廠模式中的具體工廠不只是建立一種產品,它負責建立一族產品。例如海爾電器工廠生產的海爾電視機 海爾電冰箱,海爾電器廠1生產電視機型別1和電冰箱型別1,海爾電器廠2生產電視機型別2和電冰箱型別2,這個時候就必須要用抽象工廠模式了,工...