抽象工廠
前言
現在這間工廠不僅僅是生產茶了,他還會賣果汁!
這樣原本的茶工廠這名字就不足以容納新的品項了,所以重新命名將它改為飲料工廠
從她衍生跑出兩間工廠,一個是coco,一個是tata
現在跟原本一樣,新增了一個果汁的品項,從果汁衍生出了檸檬汁與橘子汁,這裡跟原本的茶的品項衍生出綠茶跟紅茶的步驟是一樣的。
先創建一個果汁介面
1 | public abstract class Juice { } |
這樣在飲料工廠介面就可以新增點果汁的選項(他原本是TeaFactory)
1 | interface DrinkFactory |
而從飲料工廠介面衍生出來的兩家飲料店,就可以實作它們的方法
這樣兩家飲料店都可以點果汁跟茶了!!
1 | public class CoCoFactory : DrinkFactory |
增加工廠
假設我們需要增加一家飲料店
那今天如果又多了一家飲料店叫WaWa的來搶生意,就只需要繼承於DrinkFactory然後實作就可以了