C 工廠模式(Factory)

2021-09-20 21:57:20 字數 796 閱讀 3326

它提供了一種建立物件的最佳方式,在工廠模式中,我們在建立物件時不會對客戶端暴露建立邏輯,並且是通過使用乙個共同的介面來指向新建立的物件

#include // 抽象產品

class cproduct

virtual void show() = 0;

};// 抽象產品的第一種具體表現

class cproduct1 :public cproduct

};// 抽象產品的第二種具體表現

class cproduct2 :public cproduct

};// 抽象工廠

class cfactory

virtual cproduct *create() = 0;

};// 生產第一種產品的具體工廠

class cfactory1 :public cfactory

};// 生產第二種產品的具體工廠

class cfactory2 :public cfactory

};// 測試

int main()

1、乙個呼叫者想建立乙個物件,只要知道其名稱就可以了

2、擴充套件性高,如果想增加乙個產品,只要擴充套件乙個工廠類就可以

3、遮蔽產品的具體實現,呼叫者只關心產品的介面

factory工廠模式

1.factory模式 兩個重要的功能 1 定義建立物件的介面,封裝了物件的建立 2 使得具體化類的工作延遲到了子類中。factory模式僅僅侷限於一類類 就是說product是一類,有乙個共同的基類 如果我們要為不同類的類提供 乙個物件建立的介面,那就要用abstractfactory了。我們經常...

工廠模式Factory

工廠方法模式完全符合設計模式原則,降低了物件之間的耦合度,而且,工廠方法模式依賴於抽象的架構,將例項化的任務交由了子類實現.比如你想要出門,每次出行你都要根據天氣情況選擇出行方式,如果下雨天,就開自己的私家車,如果晴天就出門坐公車。那麼這裡可以抽取出乙個基類出來。車的基類 public abstra...

Factory 工廠模式

工廠模式有3種。以下的示例 都省略了建構函式與析構函式。一 簡單工廠模式 簡單工廠模式就是只有乙個工廠,所有的產品都有該工廠生產。每一種產品都有乙個對應的type。當需要某種產品時,將該產品的type傳給工廠,然後工廠即會返回該產品。這樣意味著工廠內部必須針對type作判斷,也就是使用乙個switc...