天天看點

23種設計模式之工廠模式(Factory)

使用new是最大的耦合
使用反射可以解耦,但這裡先不使用。
 除了使用new操作符之外,還有更多制造對象的方法。而執行個體化這個活動不應該總是公開地進行,也會認識到初始化經常造成”耦合”問題。

工廠模式:工廠方法和抽象工廠

簡單工廠方法:(并不是一種模式)

-負責建立對象
-使用的方法:繼承
-可以把你的客戶代碼從需要執行個體化的具體類中解耦      
23種設計模式之工廠模式(Factory)
23種設計模式之工廠模式(Factory)

工廠方法:

一、依賴倒置原則(Dependency Inversion Principle):
  設計原則:要依賴抽象,不要依賴具體類。
  好比:PizzaStore是“高層元件”,而比薩實作是“底層元件”,PizzaStore依賴這些具體比薩類。
二、指導方針:
  1)變量不可以持有具體類的引用
  2)不要讓類派生自具體類
  3)不要覆寫基類中已實作的方法
23種設計模式之工廠模式(Factory)
23種設計模式之工廠模式(Factory)
總結:
1)工廠方法模式對每一個産品都有相應的工廠
2)使用的方法:繼承

抽象工廠

-需要建立産品家族和想讓制造的相關産品集合起來時
-方法:通過對象組合      
定義:提供一個接口,用于建立相關或依賴對象的家族,而不需要明确指定具體類。抽象工廠模式又稱為Kit模式,屬于對象建立型模式。

一作業題:

繼續閱讀