Head First Design Pattern 讀書筆記(4) 工廠模式

Head First Design Pattern 讀書筆記(4) Factory Pattern 工廠模式

##Factory Pattern 類圖 工廠模式類圖 ##定義編程

  1. 工廠模式:工廠模式嚴格意義上不算是設計模式,而是一種編程習慣,將建立某一類「產品」的代碼封裝起來,達到鬆耦合的目的。
  2. 工廠方法模式:定義一個建立對象的接口,可是由子類本身決定建立邏輯。工廠方法讓類把實例化延遲到子類。
  3. 抽象工廠模式:提供一個接口,用於建立相關或依賴對象的家族,而不須要明確制定具體類。

##幾個OO的原測設計模式

  1. 依賴倒置原測(Dependency Inversion Principle):要依賴於抽象,而不是依賴於具體實現。--》相似與面向接口編程,無論是高層仍是底層模塊,都應該依賴於抽象。
    依賴倒置在編碼中的具體實踐:
    • 變量不能夠持有具體的類引用 --》如使用工廠的方式代替new方式建立對象。
    • 不要讓類派生自具體類。
    • 不要覆蓋基類中已實現的方法。

##關於工廠模式編碼

  1. 簡單工廠與工廠方法的區別:簡單工廠僅封裝了產品建立代碼,若是新增了產品,須要修改工廠類的代碼;工廠方法將建立產品的邏輯延遲到子類中去實現,因此能夠不修改原有代發動態地拓展新產品。
  2. 工廠方法與抽象工廠的區別:抽象工廠將產品劃分爲多個「產品家族」,每個「族」的產品在一個具體的工廠類中生產;而工廠方法經過繼承父類,重寫建立邏輯產生特定產品,生產的產品沒有類別等級的概念,所有屬於統一類產品。
  3. 抽象工廠的具體工廠類建立產品的代碼是很難拓展,若是要在「產品族」中增長新的產品,須要修改工廠類的建立代碼。
相關文章
相關標籤/搜索