設計模式之 抽象工廠模式

2021-09-25 18:11:57 字數 1284 閱讀 5074

跳轉到==>設計模式彙總

抽象工廠模式

1 抽象工廠模式和工廠模式有相同的地方,有多出來的地方。相同的是他們的主要目的是獲得產品,以及使用該產品的方法。不同的是,抽象工廠模式在抽象出產品的基礎上,再抽象出工廠。這使得呼叫者可以很方便的得到他要的產品和產品的特性。但是缺點也很大,管理工廠需要耗費很多精力,整個結構顯得比較龐大,臃腫。需要熟練這種模式才能比較好的運用和理解。

2 抽象工廠是多個工廠共同作業下的,為了不熟悉工廠內部結構的人能夠方便使用,所產生的設計結構。

3 判斷是哪個工廠和產品,可以用列舉來作為引數判斷。

public abstract class abstractfactory

public virtual giftbox getbox(string color)

}

public inte***ce itoy

public inte***ce giftbox

public class pinkgiftbox : giftbox

}

public class redgiftbox : giftbox

}

public class giftboxfactory : abstractfactory

else if (color == "pink")

else

}}

public class snoopy : itoy

}

public class mickey : itoy

}

public class toyfactory : abstractfactory

else if(name == "snoopy")

else

}}

public class factoryproducer

else if (name == "toy")

else

}}

public class bussinessman

public static string getboxcolor(string factoryname, string color)

}

抽象工廠模式 設計模式3之抽象工廠模式

工廠方法模式中工廠只負責同類產品的生產。比如電視機工廠不應該生產汽車。然而現實生活中有很多綜合型的工廠,比如有些電視工廠不僅生產電視機,還會生產與之配套的機頂盒。那麼抽象工廠模式隨之誕生,這種模式將考慮多種型別產品的生產。我們總結下 工廠方法模式只考慮成產同一等級級的產品抽象方法模式考慮生產多等級的...

設計模式之抽象工廠模式

目標 定義了乙個建立一系列相關或相互依賴的介面,而無需指定它們的具體類。用於交換產品系列,如 access sql server 產品的具體類名被具體工廠的實現分離 下面是示例 include include include using namespace std 使用者抽象介面 class ius...

設計模式之抽象工廠模式

定義 abstract factory,提供乙個建立一系列相關或相互依賴物件的介面,而無需制定它們具體的類 場景 有一家生產螺絲螺帽的工廠,螺絲有兩種型號 公的和母的,螺帽也有兩種型號 公的和母的。沒個車間只生產一種螺絲和螺帽。這裡車間就是乙個concretefactory 具體工廠 螺絲和螺帽便是...