設計模式之工廠模式

設計模式之工廠模式

1、什麼是工廠模式?

工廠模式主要是爲創建對象提供過渡接口,以便將創建對象的具體過程屏蔽隔離起來,達到提高靈活性的目的。

2、簡單工廠模式

抽象產品:在java中是接口

具體產品:在java中實現上述接口

工廠產品:在java中由一個具體類實現

3、工廠方法模式:

抽象工廠:具體工廠不必須實現的接口或者必須繼承的父類

具體工廠:在java中由具體的類來實現上述接口

抽象產品:在java中一般是抽象類或者接口

具體產品:在java中由具體的實現類來實現上述接口和抽象類

4、抽象工廠模式:

抽象工廠:具體工廠不必須實現的接口或者必須繼承的父類

具體工廠:在java中由具體的類來實現上述接口

抽象產品:在java中一般是抽象類或者接口

具體產品:在java中由具體的實現類來實現上述接口和抽象類

5、工廠方法模式和抽象工廠模式的區別:

在抽象工廠模式中,抽象產品 (AbstractProduct) 可能是一個或多個,從而構成一個或多個產品族(Product Family)。 在只有一個產品族的情況下,抽象工廠模式實際上退化到工廠方法模式。

產品族和等級結構兩廂車和三廂車稱爲兩個不同的等級結構;而2.0排量車和2.4排量車則稱爲兩個不同的產品族。

再具體一點,2.0排量兩廂車和2.4排量兩廂車屬於同一個等級結構,2.0排量三廂車和2.4排量三廂車屬於另一個等級結構。

2.0排量兩廂車和2.0排量三廂車屬於同一個產品族,2.4排量兩廂車和2.4排量三廂車屬於另一個產品族。

明白了等級結構和產品族的概念,就理解工廠方法模式和抽象工廠模式的區別了,

如果工廠的產品全部屬於同一個等級結構,則屬於工廠方法模式;

如果工廠的產品來自多個等級結構,則屬於抽象工廠模式。

6、設計模式中的開閉原則

它的核心是:對擴展開放,對修改關閉

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