一、抽象工廠模式基本介紹
1)抽象工廠模式:定義了乙個inte***ce用於建立相關或有依賴關係的物件簇,而無需指明具體的類;
2)抽象工廠模式可以將簡單工廠模式和工廠方法模式進行整合;
3)從設計層面看,抽象工廠模式就是對簡單工廠模式的改進(或者稱為進一步的抽象);
4)將工廠抽象為兩層,absfactory(抽象工廠)和具體實現的工廠子類。程式設計師可以根據建立物件型別使用對應的工廠子類。這樣將單個的簡單工廠類變成了工廠簇,更利於**的維護和擴充套件。
二、應用
此處應用場景與簡單工廠模式為同乙個。
類圖
**1)抽象披薩類
public
abstract
class
pizza
public
void
cut(
)public
void
box(
)public
void
setname
(string name)
}
2)具體披薩類,繼承抽象類披薩
public
class
ldpepperpizza
extends
pizza
}
public
class
ldcheesepizza
extends
pizza
}
public
class
bjpepperpizza
extends
pizza
}
public
class
bjcheesepizza
extends
pizza
}
3)訂單類披薩
public
class
orderpizza
private
void
setfactory
(absfactory factory)
else
}while
(true);
}//寫乙個方法,可以獲取客戶希望訂購的披薩種類
private string gettype()
catch
(ioexception e)
}}
4)披薩工廠介面類
//乙個抽象工廠模式的抽象層(介面)
public
inte***ce
absfactory
5)具體工廠子類
//這是工廠子類
public
class
bjfactory
implements
absfactory
else
if(ordertype.
equals
("pepper"))
return pizza;
}}
public
class
ldfactory
implements
absfactory
else
if(ordertype.
equals
("pepper"))
return pizza;
}}
6)披薩店類
public
class
pizzastore
}
設計模式(五) 抽象工廠模式
在設計模式 三 工廠方法模式和設計模式 四 jdk中的那些工廠方法中介紹了工廠方法模式。本文將介紹另外一種工廠模式 抽象工廠模式。在介紹了簡單工廠模式和工廠方法模式之後,相信很多人對工廠模式 如果單獨提到工廠模式,即包括簡單工廠模式 工廠方法模式及本文即將介紹的抽象工廠模式 的思想都有了一定的理解。...
設計模式(五) 抽象工廠模式
為建立一組相關或者是相互依賴的物件提供乙個介面,而不需要指定它們的具體類。乙個物件族有相同的約束時可以使用抽象工廠模式。在工廠方法模式中,我們的具體建立者每次使用都只能建立乙個同型別的物件,假如我們現在需要的是多個不同型別的物件,工廠方法就滿足不了需求了。這時我們可以把多個工廠方法組合到乙個類,這就...
設計模式(五)抽象工廠模式
1.抽象工廠模式定義 抽象工廠模式可以說是是工廠方法模式的公升級版,當需要建立的產品有多個產品線 產品族 時使用抽象工廠模式是比較好的選擇。那什麼是多個產品線呢?拿我們在簡單工廠模式和工廠方法模式中學習的生產電腦的例子來舉例,我們一直都是生產聯想和惠普的電腦,但是電腦也有多個產品線 台式電腦 筆記本...