簡單工廠模式,也叫做靜態工廠模式,通過專門定義乙個類來負責其他類的建立,被建立的類通常有乙個共同的父類。
1)工廠角色:是工廠模式的核心,負責建立例項物件內部的邏輯。可以被外界呼叫,建立所需要的產品。
2)抽象產品:簡單工廠模式所建立產品的父類,負責描述產品的公共介面
3)具體產品:具體的例項物件
優缺點:工廠類是簡單工廠模式的核心所在,包含必要的建立邏輯,能夠根據外部給定的資訊建立需要的具體產品。使用者不要去了解具體的產品是如何建立以及如何組織的。工廠類集中了所有例項的建立邏輯,當產品增加時,需要修改工廠類內部的判斷。擴充套件性不高。
抽象產品類
class friut
;
具體產品類
else
if(strcmp(str , "banana"))
else
;客戶就可以這樣去呼叫了
#include
void main()
1)簡單工廠類面向抽象產品類程式設計,而不是我們面向抽象類程式設計
2)新增新類時,不會影響已存在的**
3) 適用於根據不同條件建立不同的類,但是客戶端必須知道工廠類和抽象產品類
C 設計模式 2 簡單工廠模式
說到簡單工廠,自然的第乙個疑問當然就是什麼是簡單工廠模式了?在現實生活中工廠是負責生產產品的,同樣在設計模式中,簡單工廠模式我們也可以理解為負責生產物件的乙個類,我們平常程式設計中,當使用 new 關鍵字建立乙個物件時,此時該類就依賴與這個物件,也就是他們之間的耦合度高,當需求變化時,我們就不得不去...
C 設計模式 2 簡單工廠模式
這個系列也是自己對設計模式的一些學習筆記,希望對一些初學設計模式的人有所幫助的,在上乙個專題中介紹了單例模式,在這個專題中繼續為大家介紹乙個比較容易理解的模式 簡單工廠模式。說到簡單工廠,自然的第乙個疑問當然就是什麼是簡單工廠模式了?在現實生活中工廠是負責生產產品的,同樣在設計模式中,簡單工廠模式我...
設計模式(2) 簡單工廠模式
簡單工廠模式的實質是由乙個工廠類根據傳入的引數,動態決定應該建立哪乙個產品類 這些產品類繼承自乙個父類或介面 的例項。工廠 creator 角色 簡單工廠模式的核心,它負責實現建立所有例項的內部邏輯。工廠類的建立產品類的方法可以被外界直接呼叫,建立所需的產品物件。抽象產品 product 角色 簡單...