設計模式之簡單工廠(創建型模式)

 

  Factory模式的兩個最重要的功能:
1)定義創建對象的接口,封裝了對象的創建;
2)使得具體化類的工作延遲到了子類中。

 

 

 

 

Factory模式也帶來至少以下兩個問題:

1)如果爲每一個具體的Opration子類的實例化提供一個函數體,那麼我們可能不得不在系統中添加了一個方法來處理這個新建的Opration子類,這樣Factory的接口永遠就不肯能封閉(Close)。當然可以通過創建一個Factory的子類來通過多態實現這一點,但是這也是以新建一個類作爲代價的。

2)在實現中我們可以通過參數化工廠方法,即給FactoryMethod()傳遞一個參數用以決定是創建具體哪一個具體的ProductOpration子類。當然也可以通過模板化避免1)中的子類創建子類,其方法就是將具體Opration類作爲模板參數,實現起來也很簡單。可以看出,Factory模式對於對象的創建給予開發人員提供了很好的實現策略,但是Factory模式僅僅侷限於一類類(就是說Opration是一類,有一個共同的基類),如果我們要爲不同類的類提供一個對象創建的接口,那就要用AbstractFactory了。

發佈了5 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章