Abstract Factory design pattern

更新 發佈閱讀 2 分鐘

續上篇文章Factory design pattern所述,假如未來有更多口味的pizza,我們就會有超多的factory class,抽象工廠就是為了解決這樣的問題而誕生!

簡言之,抽象工廠可以把他想像成一個什麼都生產的工廠,也就是我們會有一個pizza廚房,什麼口味的pizza都能生產!

修改後完整程式碼如下:

raw-image
raw-image
raw-image
raw-image
raw-image
raw-image

假如我今天開了一間店叫VicKitchen,裡面目前只有賣pizza,未來可能會賣其他產品。

因為本質不是披薩店,而是一間會製作披薩的店,因此PizzaStore為interface,VicKitchen裡面本身可以製作其他料理,未來可以自己增加method。

這樣的設計會發現剛剛的Factory class都不見了,apple pizza factory, cheese pizza factory都不再存在,少了很多檔案呢! 未來如果有新口味的pizza,也能夠集中管理。

本筆記參考:
1. https://skyyen999.gitbooks.io/-study-design-pattern-in-java/content/abstractFactory1.html


留言
avatar-img
Vic Lin的沙龍
20會員
161內容數
Vic Lin的沙龍的其他內容
2023/08/13
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m
2023/08/13
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m
2023/03/25
前情提要 由於我的筆電已經用了10年,無法再戰下去了,且有預算考量,加上使用電腦幾乎都是定點,只有偶爾回家的時候會需要攜帶,因此最終選擇了迷你電腦,體積小不占空間,又方便攜帶,剛好符合我的需求。 菜單 由於這台無法裝獨顯,所以CPU的部分選擇 AMD R5 3400G(含Vega 11內
Thumbnail
2023/03/25
前情提要 由於我的筆電已經用了10年,無法再戰下去了,且有預算考量,加上使用電腦幾乎都是定點,只有偶爾回家的時候會需要攜帶,因此最終選擇了迷你電腦,體積小不占空間,又方便攜帶,剛好符合我的需求。 菜單 由於這台無法裝獨顯,所以CPU的部分選擇 AMD R5 3400G(含Vega 11內
Thumbnail
2023/03/10
Nuxt3中可使用useFetch來獲取數據,不須再引用axios,相當方便: 本筆記參考: https://juejin.cn/post/7104071421160063012 https://juejin.cn/post/7086472647575339045
2023/03/10
Nuxt3中可使用useFetch來獲取數據,不須再引用axios,相當方便: 本筆記參考: https://juejin.cn/post/7104071421160063012 https://juejin.cn/post/7086472647575339045
看更多
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
代官山「PIZZA SLICE」是我在東京很喜歡的美式披薩店。 是以スライス売り(切片賣)的方式,以日本人想像的時尚紐約披薩店為設計風格。 白色磁磚、木質為內裝為基調,角落擺上綠植、一面牆貼了大片的鏡子。 柱子上貼著美國紙鈔、鏡面和磁磚看得見充滿年輕活力的塗鴉。 店裡的吊燈、壁燈都很
Thumbnail
代官山「PIZZA SLICE」是我在東京很喜歡的美式披薩店。 是以スライス売り(切片賣)的方式,以日本人想像的時尚紐約披薩店為設計風格。 白色磁磚、木質為內裝為基調,角落擺上綠植、一面牆貼了大片的鏡子。 柱子上貼著美國紙鈔、鏡面和磁磚看得見充滿年輕活力的塗鴉。 店裡的吊燈、壁燈都很
Thumbnail
友人訂製的手工窯烤爐已經交貨了,據說這是委託西部的一位竹科工程師訂製的,運用各種數據及精密的分析並省去了煙囪讓內部更容易聚熱原理,當內部溫度達到250度時每9分鐘就可以出一片披薩。
Thumbnail
友人訂製的手工窯烤爐已經交貨了,據說這是委託西部的一位竹科工程師訂製的,運用各種數據及精密的分析並省去了煙囪讓內部更容易聚熱原理,當內部溫度達到250度時每9分鐘就可以出一片披薩。
Thumbnail
到墾丁吹著海風,外帶一份有著滿滿料的pizza回住宿享用,平價美味又有飽足感。起士烤過的香味總是特別的誘人,喜歡起士多一點的朋友還可以加價增量 這一次點的口味是:夏威夷 一個Pizza尺寸為12吋,直徑大約30.5公分,是薄片的,聞著~覺得味道好香阿 份量很適合2-3位一起共食,如果餓一點可以另外搭
Thumbnail
到墾丁吹著海風,外帶一份有著滿滿料的pizza回住宿享用,平價美味又有飽足感。起士烤過的香味總是特別的誘人,喜歡起士多一點的朋友還可以加價增量 這一次點的口味是:夏威夷 一個Pizza尺寸為12吋,直徑大約30.5公分,是薄片的,聞著~覺得味道好香阿 份量很適合2-3位一起共食,如果餓一點可以另外搭
Thumbnail
隱藏在海邊附近住宅的美味義式Pizza,手工新鮮製作餅皮,薄脆酥香就像吃餅乾那樣!滿滿起士下有精心搭配的美味食材,物超所值的用料,吃起來又香又嫩,加Line預定還有九折優惠。 外觀就是一般住宅的樣子,感覺就是在自家騎樓賣的樣子 沒有提供內用,現場也沒有製作好的pizza可以購買,一律都是要預訂才有。
Thumbnail
隱藏在海邊附近住宅的美味義式Pizza,手工新鮮製作餅皮,薄脆酥香就像吃餅乾那樣!滿滿起士下有精心搭配的美味食材,物超所值的用料,吃起來又香又嫩,加Line預定還有九折優惠。 外觀就是一般住宅的樣子,感覺就是在自家騎樓賣的樣子 沒有提供內用,現場也沒有製作好的pizza可以購買,一律都是要預訂才有。
Thumbnail
27 pizza強調遵循傳統拿坡里披薩 麵團的要求使用義大利百年麵粉 酵母 海鹽只用這三樣做出好吃的麵團, 道地的拿坡里披薩麵糰是不添加油的 因為義大利麵粉比較濕潤的關係,所以 延展性很夠,綜合肉披薩每一口都非常的 豐富,因為配料很多 所以相當有層次感
Thumbnail
27 pizza強調遵循傳統拿坡里披薩 麵團的要求使用義大利百年麵粉 酵母 海鹽只用這三樣做出好吃的麵團, 道地的拿坡里披薩麵糰是不添加油的 因為義大利麵粉比較濕潤的關係,所以 延展性很夠,綜合肉披薩每一口都非常的 豐富,因為配料很多 所以相當有層次感
Thumbnail
終於談到點餐了,這篇拖稿已久的文章談到我們對點餐的概念,怎樣才能兼顧多元化的店家與顧客需求,這裡有我們的解答。
Thumbnail
終於談到點餐了,這篇拖稿已久的文章談到我們對點餐的概念,怎樣才能兼顧多元化的店家與顧客需求,這裡有我們的解答。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News