設計模式-三種工廠模式的區別

下面例子中鼠標,鍵盤,耳麥爲產品,惠普,戴爾爲工廠。

簡單工廠模式

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

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

工廠模式

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

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

生產哪種鼠標不再由參數決定,而是創建鼠標工廠時,由戴爾鼠標工廠創建。

後續直接調用鼠標工廠.生產鼠標()即可

抽象工廠模式

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

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

戴爾工廠,惠普工廠繼承它,可以分別生產戴爾鼠標+戴爾鍵盤,和惠普鼠標+惠普鍵盤。

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

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

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

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

之後創建華碩鼠標,繼承鼠標類。創建華碩鍵盤,繼承鍵盤類即可。

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

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章