四、簡單工廠模式的示例
五、簡單工廠模式的優缺點
簡單工廠模式屬於類的建立型模式 ,又叫做靜態工廠方法模式。根據傳入的引數型別不同,通過專門定義乙個類來負責建立其他類的例項,被建立的例項有乙個共同的父類。
簡單工程模式不屬於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...
設計模式 工廠模式之簡單工廠
工廠模式可以分為 簡單工廠模式 普通工廠模式 靜態工廠模式 抽象工廠模式 簡單工廠模式 就是如何去例項化物件的問題,對於很容易變化的問題,應該考慮用乙個單獨的類來做這個創造例項的過程,這個單獨的類就是工廠 例子 通過簡單工廠建立各種圖形的實現過程 簡單工廠模式建立步驟 建立乙個介面 例 圖形介面 建...
設計模式 工廠模式之簡單工廠
我們常見的設計模式,大致可以分為三大類 建立型 結構性 行為型。工廠模式,屬於建立型。工廠模式到底起的是什麼作用呢?概括來說就是解耦。當某一類物件需要頻繁建立的時候,就會和程式產生比較大的耦合,在物件初始化屬性較多時,工廠模式可以較少這種耦合,這就是他的作用。一般情況下根據場景不同,工廠模式有幾種不...