簡單理解常用設計模式(六)工廠模式

2021-08-16 03:47:39 字數 680 閱讀 5134

這裡說說工廠模式,其實在筆者寫完(三)常用設計原則時,部分讀者已經發現簡單工廠的不妥了,因為在簡單工廠模式下,新增功能需要新增新功能類,並且要修改工廠類的case判斷,這樣就違反了開閉原則:可以拓展但不能修改原始碼。

當然開閉原則不是絕對的,也可以根據實際開發場景來決定是不是遵循,但絕大多數情況下請遵循。

這裡比較簡單工廠模式和工廠模式的區別:

簡單工廠模式的優點在於工廠類中包含了必要的邏輯判斷,根據使用者的選擇條件(傳參)來動態例項化相關的類,對呼叫者來說去除了和具體產品的依賴。

工廠模式下新增功能就只需要新增新功能類和對應的工廠類,就不用修改原始碼了,但不方便的地方在於,簡單工廠類的邏輯判斷轉移到了呼叫方,呼叫者需要知道例項化具體哪個工廠才行。

uml圖如下:

原書demo如下:

常用設計模式之簡單工廠模式

簡單工廠模式 簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法 static factory method 模式,但不屬於23種gof設計模式之一。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的乙個特殊實現。簡單工廠...

設計模式 工廠模式(簡單工廠)

一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...

設計模式 工廠模式理解

工廠模式在建立物件時不會對客戶端暴露建立邏輯,並且是通過使用乙個共同的介面來指向新建立的物件。在物件導向設計中工廠模式是程式設計的首先模式。為了深入理解這個概念,首先講一下 工廠 的概念。工廠是可以大量重複生產相同產品的場所。對於工廠來講,生產一件產品和生產一萬件產品在技術和管理層面上不應該有本質差...