設計模式看書筆記 5 三種工廠模式比較

2021-09-06 22:13:48 字數 1272 閱讀 3609

先看三種工廠模式部分主要**(完整**在前三篇部落格):

簡單工廠模式:

public class samplefactory

else if("dolphin".equals(animalname))

}}

工廠方法模式:

public inte***ce factory

public class trige***ctory implements factory

}public class dolphinfactory implements factory

}

抽象工廠模式:

適合亞洲老虎,亞洲海豚的詳細工廠類;

public class asiafactory implements factory

; public dolphin createdolphin();

}適合非洲老虎,非洲海豚的詳細工廠類;

public class africafactory implements factory

; public dolphin createdolphin();

}

詳細的差別: 

簡單工廠:

乙個詳細工廠通過條件語句建立多個產品,產品的建立邏輯集中於乙個工廠類。

client通過傳不同的引數給工廠,實現建立不同產品的目的

新增新產品時,須要改動工廠類、新增產品類,不符合ocp原則

工廠方法:

乙個工廠建立乙個產品,全部的詳細工廠繼承自乙個抽象工廠。

client先建立不同產品的工廠,再由工廠建立詳細產品,產品的建立邏輯分散在每乙個詳細工廠類中。

client僅僅依賴於抽象工廠與抽象產品,不依賴不論什麼詳細的工廠與詳細產品

新增新產品時,須要新增工廠類和產品類,符合ocp原則

抽象工廠:

乙個詳細工廠建立乙個產品族,乙個產品族是不同系列產品的組合,產品的建立的邏輯分在在每乙個詳細工廠類中。全部的詳細工廠繼承自同乙個抽象工廠。

client建立不同產品族的工廠,產品族的工廠建立詳細的產品對client是不可見的。

新增新的產品族時,須要新增詳細工廠類,符合ocp原則。

新增新產品時,須要改動詳細工廠類和新增產品類,不符合ocp原則

假設沒有應對「多系列物件建立」的需求變化,則沒有必要使用抽象工廠模式,這時候使用簡單的靜態工廠全然能夠。

上述3種模式都使client脫離了與詳細產品的耦合,client不關注詳細產品的生產方法

java設計模式 三種工廠模式

工廠模式提供建立物件的介面。工廠模式分為三類 簡單工廠模式 factory 工廠方法模式 factory method 和抽象工廠模式 abstract factory gof在 設計模式 中將工廠模式分為兩類 工廠方法模式 factory method 和抽象工廠模式 abstract facto...

Java三種工廠設計模式

乙個栗子 我喜歡吃麵條,抽象 乙個麵條基類 介面也可以 這是產品的抽象類。public abstract class inoodles 程式設計師加班必備也要吃泡麵 具體的產品類 public class paonoodles extends inoodles還有我最愛吃的家鄉的幹扣面 具體的產品類...

三種工廠的設計模式

二 三種設計模式的uml類圖 三 三種設計模式的源 四 總結分析 例項化物件的時候不再使用 new object 形式,可以根據使用者的選只需要給出具體 例項的描述給工廠,工廠就會自動返回具體的例項物件。擇條件來例項化相關的類。對於客戶端來說,去除了具體的類的依賴。工廠方法模式是對簡單工廠模式進一步...