2020-08-20|閱讀時間 ‧ 約 2 分鐘

Abstract Factory design pattern

續上篇文章Factory design pattern所述,假如未來有更多口味的pizza,我們就會有超多的factory class,抽象工廠就是為了解決這樣的問題而誕生!
簡言之,抽象工廠可以把他想像成一個什麼都生產的工廠,也就是我們會有一個pizza廚房,什麼口味的pizza都能生產!
修改後完整程式碼如下:
假如我今天開了一間店叫VicKitchen,裡面目前只有賣pizza,未來可能會賣其他產品。
因為本質不是披薩店,而是一間會製作披薩的店,因此PizzaStore為interface,VicKitchen裡面本身可以製作其他料理,未來可以自己增加method。
這樣的設計會發現剛剛的Factory class都不見了,apple pizza factory, cheese pizza factory都不再存在,少了很多檔案呢! 未來如果有新口味的pizza,也能夠集中管理。
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.