設計模式之簡單工廠模式 我簡單,我實用

2021-10-01 22:37:04 字數 1339 閱讀 3598

四、簡單工廠模式的示例

五、簡單工廠模式的優缺點

簡單工廠模式屬於類的建立型模式 ,又叫做靜態工廠方法模式。根據傳入的引數型別不同,通過專門定義乙個類來負責建立其他類的例項,被建立的例項有乙個共同的父類。

簡單工程模式不屬於23中設計模式,但因為其使用簡單,在軟體設計中經常被使用。

1、工廠類負責建立的物件比較少,業務邏輯比較簡單、變化不大。

2、客戶端只需知道傳入工廠類的引數,對於如何建立物件不用關心。

工廠類是簡單工廠模式的核心, 它負責實現建立所有例項的內部邏輯,該工廠類可以被外界直接調

用,建立所需的產品物件。

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

簡單工廠模式所建立的具體產品例項物件。

// ******factory.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。

//#include

using

namespace std;

// 水果基類

class

fruit;~

fruit()

;virtual

void

printname()

=0;}

;// 具體水果-香蕉

class

banana

:public fruit;~

banana()

;void

printname()

};// 具體水果-蘋果

class

:public fruit;~

();void

printname()

};// 工廠類

class

factory;~

factory()

;enum fruit_type ;

fruit *

creatfruit

(fruit_type type)

return pfruit;}}

;#define delete_ptr(p) }

intmain()

1、工廠類包含了必要的邏輯判斷,根據傳入的引數型別來建立對應的產品,客戶端僅負責「消費」產品即可,實現了物件建立和使用的分離。

2、客戶端無需關心具體產品如何建立與組織,僅需知道具體產品所對應的引數即可。

1、違反了高內聚責任分配原則,工廠類集中了所有產品的建立邏輯,職責過重,一旦無法正常工作,整個系統都將受到影響。

2、新增新產品就不得不修改工廠類,當產品型別較多時,有可能造成工廠邏輯過於複雜,不利於系統的擴充套件和維護。

能力有限,如有錯誤,多多指教。。。

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

定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...

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

工廠模式可以分為 簡單工廠模式 普通工廠模式 靜態工廠模式 抽象工廠模式 簡單工廠模式 就是如何去例項化物件的問題,對於很容易變化的問題,應該考慮用乙個單獨的類來做這個創造例項的過程,這個單獨的類就是工廠 例子 通過簡單工廠建立各種圖形的實現過程 簡單工廠模式建立步驟 建立乙個介面 例 圖形介面 建...

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

我們常見的設計模式,大致可以分為三大類 建立型 結構性 行為型。工廠模式,屬於建立型。工廠模式到底起的是什麼作用呢?概括來說就是解耦。當某一類物件需要頻繁建立的時候,就會和程式產生比較大的耦合,在物件初始化屬性較多時,工廠模式可以較少這種耦合,這就是他的作用。一般情況下根據場景不同,工廠模式有幾種不...