工廠模式比簡單工廠模式優越在哪?(原創)

2022-07-18 17:42:14 字數 485 閱讀 4144

關於筆者對簡單工廠模式的分析,可以參考:

簡單工廠模式的最大缺點,在於:新增乙個新的功能類時,簡單工廠類需要相應地新增其構造過程。

雖然運用某些語言本身的反射和自省機制,可以省卻一些改變。但當建立過程越發複雜之後,比如在新類建立之前,需要很多準備工作,而且不同的類,準備過程各個不同。

此時,就沒有辦法再借助反射機制來偷懶,畢竟,反射機制只能根據類名或者方法名,返回相應的類和方法,其它的事,他也幹不了。

這時候,工廠模式就應運而生。

工廠模式和簡單工廠模式的區別就在於工廠類。簡單工廠模式在乙個工廠類裡完成判斷,生產客戶端需要的物件。而工廠模式則把這件事交給子類去完成。

每乙個工廠子類和新新增的後台功能類一一對應。所有的工廠子類都繼承乙個最高層的工廠類,所以他們都有同樣的介面。

如此一來,當需要新增乙個新的功能類時,只需要同步地新增乙個與之對應的工廠子類,來負責建立新新增的功能類物件。

這樣,依舊符合「開放-封閉」原則,只擴充套件,不修改。

簡單工廠模式,工廠模式,抽象工廠模式

三種模式看了一天,記錄下自己的理解 headfirst,比薩店為例 1,簡單工廠模式 乙個具體的工廠類 pizzafactory 乙個抽象的產品類pizza,可以派生出多個具體的產品類 客戶 pizzastore類 工廠類 pizzafactory類關聯產品類pizza,工廠生產出不同型別的pizz...

簡單工廠模式 工廠模式 抽象工廠模式

簡單工廠模式 簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關類,對於客戶端來說,去除了與具體產品的依賴。但增加功能時,需增加 case 邏輯判斷分支條件,修改了原有的類,我們不但對擴充套件開發了,對修改也開放了,違背了開放 封閉原則。工廠方法模式,定義了乙...

簡單工廠模式 工廠模式 抽象工廠模式

其實這個三個c 的設計模式已經學習很長時間了,今晚才想起來要寫這三個設計模式,為什麼要用c 中的設計模式呢?for example,你已經會開車了,正著開,倒著開,轉彎,這些都是開車基本的,但是你並沒有很高的車技,並不會炫酷。漂移,就好像c 中的設計模式一樣,在你學好c 的基礎上,嫻熟的應用出的新技...