工廠類判斷要生產什麼產品並呼叫相應的建構函式。當增加新產品時就要修改工廠類,這違反了「軟體實體(類、模組、函式)可以擴充套件,但是不可修改」的開放封閉原則。
產品基類有純虛函式。
產品子類繼承產品基類。
工廠類中有生產函式。
使用方法:建立產品基類指標,建立工廠物件,呼叫工廠物件的生產函式,套入產品型別引數,並將返回值賦給基類指標,基類指標可呼叫相應產品子類的介面函式。
在簡單工廠模式的基礎上,將工廠類改為擁有純虛生產函式的工廠基類,增設繼承工廠基類的工廠子類,每一種工廠子類只生產一種產品。
使用方法:建立產品基類指標,要生產哪種產品,就建立對應的工廠子類物件,並呼叫該工廠子類物件的生產函式,將返回值賦給基類指標,基類指標可呼叫相應產品子類的介面函式。
在工廠方法模式的基礎上,增設產品族,每乙個產品族都有乙個產品基類,並在工廠基類和工廠子類中增添相應的純虛生產函式和介面生產函式。
《三種工廠模式的c++實現》 csdn 使用者 拳四郎 著
工廠模式總結
工廠模式實現了建立者和呼叫者的分離,工廠模式分為簡單工廠模式 工廠模式 抽象工廠模式。工廠模式有很多的應用場景 1 jdk中calendar的getinstance 方法。2 jdbc中connection物件的獲取。3 spring中ioc容器建立者管理bean物件 4 xml解析時的docume...
簡單工廠模式總結
簡單工廠模式提供了專門的工廠類用於建立物件,將物件的建立和物件的使用分離開,它作為一種最簡單的工廠模式在軟體開發中得到了較為廣泛的應用。1.主要優點 簡單工廠模式的主要優點如下 1 工廠類包含必要的判斷邏輯,可以決定在什麼時候建立哪乙個產品類的例項,客戶端可以免除直接建立產品物件的職責,而僅僅 消費...
設計模式個人總結 工廠模式
1.為什麼需要設計模式 模式即是方法,解決問題有好壞。在功能實現的基礎上我們要求做到設計更好,所以有了設計模式!2.工廠模式的學習 看到的例子裡說有乙個類有很多子類,需要例項化的同時,為了避免若干個問題 1.為了 的封裝性和隱藏性 2為了避免雜亂.3.為了秉承物件導向的精神裡的高內聚,低偶合。還有什...