工廠模式

簡單工廠模式、工廠方法模式、抽象工廠模式都是屬於創建型設計模式。

1.       簡單工廠模式

消費者任何時間需要某種產品,只需要向工廠請求即可。比較常用。用到面向對應的三大特點:封裝、繼承、多態。簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客服端的選擇條件動態實例化相關的類,對於客戶端來說,去除了與具體產品的依賴。

結構圖:


2.       工廠方法模式

簡單工廠的缺點:如果增加一個業務邏輯類,就要在工廠類裏增加一個分支。工廠方法模式解決了這一個缺點,工廠方法模式:定義一個用於創建對象的接口,讓子類決定實例化哪一個類。工廠方法使一個類的實例化延遲到其子類。

但是,工廠方法模式實現時,客戶端需要決定實例化哪一個工廠來實現運算類,選擇判斷的問題還是存在的,也就是說,工廠方法把簡單工廠的內部邏輯判斷移到了客戶端代碼來進行。你想要加功能,本來是改工廠類的,而現在是修改客戶端。


3.       抽象工廠模式

當工廠生產的產品只有一類時,用工廠方法就可以;當工廠生產的產品有多個時,就用抽象工廠模式。

抽象工廠模式:提供一個創建一系統相關或相互依賴對象的接口,而無需指定它們具體的類。它針對的是多個產品的等級結構。而工廠方法模式針對的是一個產品的等級結構。

 感謝《大話設計模式》這本書,上面對各種模式的介紹都很通俗易懂。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章