[設計模式]工廠模式與抽象工廠模式

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

簡單工廠模式

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

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


工廠模式

  • 工廠模式也就是鼠標工廠是個父類,有生產鼠標這個接口。
  • 戴爾鼠標工廠,惠普鼠標工廠繼承它,可以分別生產戴爾鼠標,惠普鼠標。
  • 生產哪種鼠標不再由參數決定,而是創建鼠標工廠時,由戴爾鼠標工廠創建。後續直接調用鼠標工廠.生產鼠標()即可


抽象工廠模式

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

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

  1. 假設我們增加華碩工廠,則我們需要增加華碩工廠,和戴爾工廠一樣,繼承 PC 廠商。
  2. 之後創建華碩鼠標,繼承鼠標類。創建華碩鍵盤,繼承鍵盤類即可。

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

  1. 假設我們增加耳麥這個產品,則首先我們需要增加耳麥這個父類,再加上戴爾耳麥,惠普耳麥這兩個子類。
  2. 之後在PC廠商這個父類中,增加生產耳麥的接口。
  3. 最後在戴爾工廠,惠普工廠這兩個類中,分別實現生產戴爾耳麥,惠普耳麥的功能。

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