設計模式 簡單工廠模式 C

2021-10-05 20:59:27 字數 755 閱讀 9073

簡單工廠模式例項

簡單工廠模式屬於建立型模式,又叫靜態工廠方法模式,但不屬於23種gof模式之一

簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項,它是工廠模式種最簡單實用的模式

實現方式

簡單工廠模式的實質是由乙個工廠類根據傳入的引數,動態決定應該建立哪種產品類的例項

簡單工廠模式所包含的角色和職責如下:

簡單工廠模式的uml類圖

特性優點

工廠類是整個模式的關鍵,包含了必要的邏輯判斷,根據外界給定的資訊,決定究竟應該建立哪個具體類的物件.通過使用工廠類,外界無需了解物件的建立過程,更有利於軟體體系結構的優化

缺點由於工廠類幾種所有例項的建立邏輯,違反了單一職責原則

如果新增物件的種類,則需要更改工廠類的源**,違法了"開閉原則"

簡單工廠模式例項

#include

using namespace std;

//抽象形狀

class shape

;//矩形

class rect : public shape};

//圓形

class circle : public shape };

//形狀工廠

class shapefactory};

intmain()

設計模式 簡單工廠模式(C )

一.簡單工廠模式又稱靜態工廠方法模式 static factory method 它不是gof 所講的23種設計模式之一,但是它卻是我們在編碼過程中經常使用的方法之一。1.靜態工廠方法統一管理物件的建立。靜態工廠方法通過傳入的引數判斷決定建立哪乙個產品的例項,封裝了物件的建立,客戶端只管消費,實現了...

C 設計模式 簡單工廠模式

從設計模式的型別上來說,簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法 static factory method 模式,但不屬於23種 gof設計模式之一。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的乙個特殊實...

C 設計模式 簡單工廠模式

問題描述 之前在公司做了乙個windows 8平台的閱讀器。首先,需要將電子書中的內容渲染到螢幕上,而電子書每一頁都包含各種各樣的內容,比如 圖形 影象和文字等等 不同的內容,就是不同的物件 在將不同的內容渲染到螢幕上之前,就需要new操作,建立不同的物件,然後再在螢幕上進行描繪。這個時候,就需要進...