天天看點

工廠方法模式

定義:

  定義一個用于建立對象的接口,讓子類決定執行個體化哪一個類。工廠方法使一個類的執行個體化延遲到了其子類。

  

工廠方法模式

優點:

  工廠方法模式是對簡單工廠模式的進一步抽象和推廣。由于使用了多态性,工廠方法保持了簡單工廠模式的優點,而且客服了簡單工廠違背開放-封閉原則的缺點。

缺點:

  每加一個産品,就需要加一個産品工廠的類,增加了額外的開發量。

與簡單工廠模式的差別:

  簡單工廠模式:

    最大的優點在于工廠類中包含了必要的邏輯判斷,根據用戶端的選擇條件動态執行個體化相關的類。對于用戶端來說,去除了與具體産品的依賴。

    但是,添加功能的話,需要添加工廠類的case分枝條件。=對擴充、修改開放了。違背了開放-封閉原則。

    添加一個産品,需要修改用戶端和工廠類的case分支;需要添加一個功能類

工廠方法模式

  工廠方法模式:

    添加一個方法,需要修改用戶端;需要添加一個工廠類和功能類。

    

工廠方法模式

繼續閱讀