簡言之,抽象工廠可以把他想像成一個什麼都生產的工廠,也就是我們會有一個pizza廚房,什麼口味的pizza都能生產!
修改後完整程式碼如下:
假如我今天開了一間店叫VicKitchen,裡面目前只有賣pizza,未來可能會賣其他產品。
因為本質不是披薩店,而是一間會製作披薩的店,因此PizzaStore為interface,VicKitchen裡面本身可以製作其他料理,未來可以自己增加method。
這樣的設計會發現剛剛的Factory class都不見了,apple pizza factory, cheese pizza factory都不再存在,少了很多檔案呢! 未來如果有新口味的pizza,也能夠集中管理。