簡單工廠 c

2021-07-22 04:32:59 字數 977 閱讀 2000

c++設計模式之簡單工廠模式

部落格分類: 設計模式

設計模式cc++c#uml

專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。它又稱為靜態工廠方法模式,屬於類的建立型模式。

簡單工廠模式的uml類圖

簡單工廠模式的實質是由乙個工廠類根據傳入的引數,動態決定應該建立哪乙個產品類(這些產品類繼承自乙個父類或介面)的例項。

該模式中包含的角色及其職責

工廠(creator)角色

簡單工廠模式的核心,它負責實現建立所有例項的內部邏輯。工廠類可以被外界直接呼叫,建立所需的產品物件。

抽象(product)角色

簡單工廠模式所建立的所有物件的父類,它負責描述所有例項所共有的公共介面。

具體產品(concrete product)角色

是簡單工廠模式的建立目標,所有建立的物件都是充當這個角色的某個具體類的例項。

一般來講它是抽象產品類的子類,實現了抽象產品類中定義的所有介面方法。

簡單工廠模式的特點:

簡單工廠模式的建立目標,所有建立的物件都是充當這個角色的某個具體類的例項。

在這個模式中,工廠類是整個模式的關鍵所在。它包含必要的判斷邏輯,能夠根據外界給定的資訊,決定究竟應該建立哪個具體類的物件。使用者在使用時可以直接根據工廠類去建立所需的例項,而無需了解這些物件是如何建立以及如何組織的。有利於整個軟體體系結構的優化。

不難發現,簡單工廠模式的缺點也正體現在其工廠類上,由於工廠類集中了所有例項的建立邏輯,所以「高內聚」方面做的並不好。另外,當系統中的具體產品類不斷增多時,可能會出現要求工廠類也要做相應的修改,擴充套件性並不很好。

例項**如下:

cpp** 收藏**

#include

using namespace std;

//定義抽象類

class canimal

; //定義具體類

class cfish : public canimal

C 工廠模式 簡單工廠

簡單工廠 工廠模式 簡單工廠,工廠方法,抽象工廠三種.簡單工廠 力求簡潔 工廠即為生產東西的地方.在c 也有這種模式,充分利用了物件導向語言的三大特徵 多型,繼承 簡單工廠.工廠的功能就是生產,而生產些什麼呢?乙個工廠可以生產鞋子,生產衣服.它們所處的車間不一樣,所以需要兩個不同的類,這兩個類繼承工...

C 簡單抽象工廠

using system using system.collections.generic using system.text 抽象工廠 public abstract class abstractfactory return factory 通過抽象產品,建立實際產品 public abstrac...

c 簡單工廠模式

主要用於物件建立,新新增類時,不會影響以前的系統 核心思想是用乙個工廠來根據輸入條件產生不同的類,然後根據不同類的的virtual函式得到不同的結果。優點 適用於不同情況建立不同的類。缺點 客戶端必須要知道基類和工廠類,耦合性差。基類 class coperation 加法 class addope...