C 設計模式之簡單工廠模式

2021-10-03 09:38:36 字數 651 閱讀 4476

簡單工廠模式按照設計模式型別分的話是屬於建立型模式,他是工廠模式中最簡單的一種,他不屬於gof 23中設計模式之一,但是是簡單實用的。他是有乙個工廠物件來決定建立哪一種物件的例項。

類圖和呼叫方法:

例子:

優點:外界只要傳入類的名字或者識別符即可,不需要關心具體建立過程,只顧「消費」就可以了。各有各的指責和權力,分工明確,利於整個軟體架構優化。簡單,結合單例模式更加方便和節省資源。

缺點:違反裡高內聚責任分配原則,將全部邏輯放到乙個工廠類中,如果需要支援新的類,那就必須改變工廠類了。增加新的產品時,需要修改工廠類的if…else邏輯,不符合開閉原則

呼叫

iproduct * ******factory::

create

(std::string classname)

C 設計模式之簡單工廠模式

專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。它又稱為靜態工廠方法模式,屬於類的建立型模式。簡單工廠模式的uml類圖 簡單工廠模式的實質是由乙個工廠類根據傳入的引數,動態決定應該建立哪乙個產品類 這些產品類繼承自乙個父類或介面 的例項。該模式中包含的角色及其職責 工廠 cr...

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

設計模式的作用就是不同作用的 的區分管理,每乙個區塊的 只做好自己的事情。拿人體來舉例,大腦是所用活動的控制中樞。分別控制軀體,消化系統,免疫系統,神經系統等。那麼首先就需要將各個系統分割開來,在需要運動的時候通知軀體運動,需要消化的時候通知消化系統去消化 等等。再往細分,大腦給軀體發出乙個喝水的命...

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

簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端 使用工廠類 的選擇條件動態例項化相關的類,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴。對於動態例項化,我們可以借助智慧型指標來完成對物件的管理。如下 include include using n...