設計模式學習之工廠模式

2021-04-29 20:36:16 字數 468 閱讀 7192

工廠模式,factorymethod,定義乙個工廠類的基類,基類中不再去實現具體的產品類的例項,而是將產品類的例項化工作放在其子類中進行,然後由客戶端來決定要使用那一種產品類的例項,工廠模式也要求產品類都具有相同的產品基類,這和簡單工廠模式比較相似。

個人理解:工廠模式和簡單模式最大的區別是將產品類的例項化放到了工廠類的子類中實現。看書說是,許多其他的設計模式都存在著工廠模式的影子。

當產品類的需求並不固定,即總是發生變化時,我們應該採用工廠模式,這樣我們通常只需要去新增新的子類去處理,而並不是去修改原來已經相對穩定的**。

現在描述一下簡單的**需求:現在有乙個業務多元化的公司,其業務包含生產化學藥品,和食物,這兩種不同的產品是由不同的工廠生產出來的,而最終這些產品都必須標明公司的商標。

**如下:

工廠介面:

產品基類:

產品子類:

工廠子類,實現產品類的例項化

相關呼叫**:

設計模式之工廠模式學習

與簡單工廠模式相比,工廠模式為每個類增加了乙個工廠類。每個工廠類返回它所對應的類的物件指標。簡單工廠模式的最大優點 工廠類中包含了必要的邏輯判斷。根據客戶端的選擇條件動態的例項化相關的類。沒有在客戶端實現判斷,也就去除了與客戶端的依賴。簡單工廠模式實現計算類結構圖 工廠模式實現計算類結構圖 工廠模式...

設計模式學習之工廠模式

前言 設計模式不是某個api,是一系列經驗總結後的開發模板。工廠模式的分類 工廠方法模式 定義了乙個用於建立方法的介面,讓子類決定例項化哪乙個類。抽象方法模式 定義一系列相關或者相互依賴的介面,無需指定具體的類。是方法模式的擴充套件。工廠模式的意義 需要大量建立某類具有相同屬性的物件時,將例項化的任...

設計模式之工廠模式學習

與簡單工廠模式相比,工廠模式為每個類增加了乙個工廠類。每個工廠類返回它所對應的類的物件指標。簡單工廠模式的最大優點 工廠類中包含了必要的邏輯判斷。根據客戶端的選擇條件動態的例項化相關的類。沒有在客戶端實現判斷,也就去除了與客戶端的依賴。簡單工廠模式實現計算類結構圖 工廠模式實現計算類結構圖 工廠模式...