三種工廠模式

2021-10-06 22:52:59 字數 981 閱讀 1041

簡單工廠模式不是23種裡的一種,簡而言之,就是有乙個專門生產某個產品的類。

比如下圖中的滑鼠工廠,專業生產滑鼠,給引數0,生產戴爾滑鼠,給引數1,生產惠普滑鼠。

工廠模式也就是滑鼠工廠是個父類,有生產滑鼠這個介面。

戴爾滑鼠工廠,惠普滑鼠工廠繼承它,可以分別生產戴爾滑鼠,惠普滑鼠。

生產哪種滑鼠不再由引數決定,而是建立滑鼠工廠時,由戴爾滑鼠工廠建立。

後續直接呼叫滑鼠工廠.生產滑鼠()即可

抽象工廠模式也就是不僅生產滑鼠,同時生產鍵盤。 也就是pc廠商是個父類,有生產滑鼠,生產鍵盤兩個介面。 戴爾工廠,惠普工廠繼承它,可以分別生產戴爾滑鼠+戴爾鍵盤,和惠普滑鼠+惠普鍵盤。 建立工廠時,由戴爾工廠建立。 後續工廠.生產滑鼠()則生產戴爾滑鼠,工廠.生產鍵盤()則生產戴爾鍵盤。

在抽象工廠模式中,假設我們需要增加乙個工廠

假設我們增加華碩工廠,則我們需要增加華碩工廠,和戴爾工廠一樣,繼承pc廠商。

之後建立華碩滑鼠,繼承滑鼠類。建立華碩鍵盤,繼承鍵盤類。

即可。

在抽象工廠模式中,假設我們需要增加乙個產品

假設我們增加耳麥這個產品,則首先我們需要增加耳麥這個父類,再加上戴爾耳麥,惠普耳麥這兩個子類。

之後在pc廠商這個父類中,增加生產耳麥的介面。最後在戴爾工廠,惠普工廠這兩個類中,分別實現生產戴爾耳麥,惠普耳麥的功能。

以上。

三種工廠模式

本文介紹設計模式中的工廠模式。工廠模式,顧名思義,就是本來我們需要某樣東西,需要自己造,可有了工廠呢?我需要該東西時,只需告訴工廠,工廠就會生產該東西,一定程度上,把使用者和生產者分開了。解耦了。追本溯源,假設我們現在有乙個類a,類a裡需要類b的乙個物件,一般的處理是這樣,b b new b 但這樣...

三種工廠模式

include include include using namespace std class operation double geta const double getb const void seta double x void setb double y virtual double g...

三種工廠模式

include 簡單工廠模式 沒有開閉原則 需要自己去判斷建立了什麼類 class abstractfruit class pear public abstractfruit class peach public abstractfruit 定義水果工廠 class factory else if ...