天天看點

設計模式-工廠模式,抽象工廠模式

例子來源菜鳥教程-工廠模式

下面例子中滑鼠,鍵盤,耳麥為産品,惠普,戴爾為工廠。

簡單工廠模式

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

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

設計模式-工廠模式,抽象工廠模式

工廠模式

工廠模式也就是滑鼠工廠是個父類,有生産滑鼠這個接口。

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

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

後續直接調用滑鼠工廠.生産滑鼠()即可

設計模式-工廠模式,抽象工廠模式

抽象工廠模式

抽象工廠模式也就是不僅生産滑鼠,同時生産鍵盤。

也就是 PC 廠商是個父類,有生産滑鼠,生産鍵盤兩個接口。

戴爾工廠,惠普工廠繼承它,可以分别生産戴爾滑鼠+戴爾鍵盤,和惠普滑鼠+惠普鍵盤。

建立工廠時,由戴爾工廠建立。

後續工廠.生産滑鼠()則生産戴爾滑鼠,工廠.生産鍵盤()則生産戴爾鍵盤。

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

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

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

設計模式-工廠模式,抽象工廠模式
在抽象工廠模式中,假設我們需要增加一個産品

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

之後在PC廠商這個父類中,增加生産耳麥的接口。最後在戴爾工廠,惠普工廠這兩個類中,分别實作生産戴爾耳麥,惠普耳麥的功能。 以上。

設計模式-工廠模式,抽象工廠模式

繼續閱讀