Abstract Factory design pattern

閱讀時間約 1 分鐘
續上篇文章Factory design pattern所述,假如未來有更多口味的pizza,我們就會有超多的factory class,抽象工廠就是為了解決這樣的問題而誕生!
簡言之,抽象工廠可以把他想像成一個什麼都生產的工廠,也就是我們會有一個pizza廚房,什麼口味的pizza都能生產!
修改後完整程式碼如下:
假如我今天開了一間店叫VicKitchen,裡面目前只有賣pizza,未來可能會賣其他產品。
因為本質不是披薩店,而是一間會製作披薩的店,因此PizzaStore為interface,VicKitchen裡面本身可以製作其他料理,未來可以自己增加method。
這樣的設計會發現剛剛的Factory class都不見了,apple pizza factory, cheese pizza factory都不再存在,少了很多檔案呢! 未來如果有新口味的pizza,也能夠集中管理。
為什麼會看到廣告
avatar-img
21會員
161內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Vic Lin的沙龍 的其他內容
Java abstract class和interface的使用時機
建議先看過Golang 入門這篇再閱讀這篇! 使用Go官方提供的net/http library就能建立http web伺服器囉!
Java abstract class和interface的使用時機
建議先看過Golang 入門這篇再閱讀這篇! 使用Go官方提供的net/http library就能建立http web伺服器囉!
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
在學習設計模式時,可能會讓人感到困惑:「為什麼有這麼多種工廠模式?它們到底解決什麼問題?」工廠方法模式(Factory Method Pattern)提供了一種方式來建立單一物件,這個方法可以在子類中覆寫以產生不同的物件。而抽象工廠模式(Abstract Factory Pattern)在這個基礎上
Thumbnail
代官山「PIZZA SLICE」是我在東京很喜歡的美式披薩店。 是以スライス売り(切片賣)的方式,以日本人想像的時尚紐約披薩店為設計風格。 白色磁磚、木質為內裝為基調,角落擺上綠植、一面牆貼了大片的鏡子。 柱子上貼著美國紙鈔、鏡面和磁磚看得見充滿年輕活力的塗鴉。 店裡的吊燈、壁燈都很
Thumbnail
這家披薩有個好處是:即使你只有點一個披薩,最少也可以吃到兩種口味。
※ 生產者和消費者模式 定義: 生產者和消費者在同一時間內共同存取某一個資料空間。生產者負責生成數據並將其放入共享空間,消費者負責從共享空間中取走數據進行處理。兩者之間互不相干,也不須互相知道對方的存在。 共同存取資料空間:生產者和消費者共享同一個資料空間。這個空間通常是緩衝區或隊列,用於在它
※ 工廠模式 定義: 工廠模式是一種實現了「工廠」概念的物件導向設計模式。它提供一個通用的工廠介面,將創建instance(實例)的程式碼交由子類別各自實現,並根據需求去動態地生成相應的物件。這種模式將物件的創建邏輯與使用邏輯分開,使程式碼更容易維護和擴展。 特點: 具有高度標準化和同質性的
Thumbnail
如果把知識比擬成串燒,你是一家巷弄內x沒店面的燒烤店老闆,你要如何制定出不同的套餐,讓一串串串燒熱賣,而不至於賣到天荒地老呢?
Thumbnail
在創業過程中,產品品質好與穩定,是最基本要做的事情,但是顧客看重的其實還有顧客關係的維持與互動,留住消費過的顧客,讓他們再次購買你的產品服務,變成很重要的事。在創業過程中,先學會做事,再學會做人,之後才是找人。
Thumbnail
在臺北市中正區的背包廚房,手工披薩的特色在於餅皮很薄,整體吃起來輕鬆、無負擔。這篇文章介紹了背包廚房的餐點種類,店內用餐的感受以及來店用餐的人潮。可以透過這篇文章瞭解臺北市美食的一個選擇,吸引對美食有興趣的人前來品嚐。
Thumbnail
​ 市面上有許多吃到飽不同型態餐廳。不過像這篇要介紹義米蘭以手作現擀披薩為主吃到飽餐廳還真少。義米蘭堅持初衷,採用新鮮食材,主餐點現點現做,提供手作現擀披薩、炸物、沙拉、牛排、飲料、湯品、米飯等多種食物吃到飽。沒來過義米蘭你不知道披薩原來有很多口味跟變化。 義米蘭相關資訊:: ​地址: 台北
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
在學習設計模式時,可能會讓人感到困惑:「為什麼有這麼多種工廠模式?它們到底解決什麼問題?」工廠方法模式(Factory Method Pattern)提供了一種方式來建立單一物件,這個方法可以在子類中覆寫以產生不同的物件。而抽象工廠模式(Abstract Factory Pattern)在這個基礎上
Thumbnail
代官山「PIZZA SLICE」是我在東京很喜歡的美式披薩店。 是以スライス売り(切片賣)的方式,以日本人想像的時尚紐約披薩店為設計風格。 白色磁磚、木質為內裝為基調,角落擺上綠植、一面牆貼了大片的鏡子。 柱子上貼著美國紙鈔、鏡面和磁磚看得見充滿年輕活力的塗鴉。 店裡的吊燈、壁燈都很
Thumbnail
這家披薩有個好處是:即使你只有點一個披薩,最少也可以吃到兩種口味。
※ 生產者和消費者模式 定義: 生產者和消費者在同一時間內共同存取某一個資料空間。生產者負責生成數據並將其放入共享空間,消費者負責從共享空間中取走數據進行處理。兩者之間互不相干,也不須互相知道對方的存在。 共同存取資料空間:生產者和消費者共享同一個資料空間。這個空間通常是緩衝區或隊列,用於在它
※ 工廠模式 定義: 工廠模式是一種實現了「工廠」概念的物件導向設計模式。它提供一個通用的工廠介面,將創建instance(實例)的程式碼交由子類別各自實現,並根據需求去動態地生成相應的物件。這種模式將物件的創建邏輯與使用邏輯分開,使程式碼更容易維護和擴展。 特點: 具有高度標準化和同質性的
Thumbnail
如果把知識比擬成串燒,你是一家巷弄內x沒店面的燒烤店老闆,你要如何制定出不同的套餐,讓一串串串燒熱賣,而不至於賣到天荒地老呢?
Thumbnail
在創業過程中,產品品質好與穩定,是最基本要做的事情,但是顧客看重的其實還有顧客關係的維持與互動,留住消費過的顧客,讓他們再次購買你的產品服務,變成很重要的事。在創業過程中,先學會做事,再學會做人,之後才是找人。
Thumbnail
在臺北市中正區的背包廚房,手工披薩的特色在於餅皮很薄,整體吃起來輕鬆、無負擔。這篇文章介紹了背包廚房的餐點種類,店內用餐的感受以及來店用餐的人潮。可以透過這篇文章瞭解臺北市美食的一個選擇,吸引對美食有興趣的人前來品嚐。
Thumbnail
​ 市面上有許多吃到飽不同型態餐廳。不過像這篇要介紹義米蘭以手作現擀披薩為主吃到飽餐廳還真少。義米蘭堅持初衷,採用新鮮食材,主餐點現點現做,提供手作現擀披薩、炸物、沙拉、牛排、飲料、湯品、米飯等多種食物吃到飽。沒來過義米蘭你不知道披薩原來有很多口味跟變化。 義米蘭相關資訊:: ​地址: 台北