設計模式(創建型)—— 抽象工廠模式
在工廠模式中,我們為每一個類都設計了一個工廠,以此來獲取該類的對象,但缺點就是一旦類多了,工廠就多了,這時候我們可以考慮這些類間是否有關聯,舉個例子:
- 小米華為這兩個品牌都有自己的手機、路由器等電子產品,如果按照之前的方法,我們需要為這些產品都設計一個工廠,那這樣成本太高了,如果按照品牌劃分,分為小米工廠和華為工廠,每個工廠都擁有制造手機、路由器的生產線,這樣一來我們就只需要兩個工廠類。
同時因為這兩個工廠有共同點,所以我們可以進行抽象化,設計一個超級工廠,它擁有制造手機、路由器的生產線(方法),這樣一來,當我們需要新增一個具有相同產品線的工廠時,只需要繼承這個超級工廠即可。
但這種方法也有缺點,當我們的產品線需要新增產品時,超級工廠和每個品牌的工廠都需要進行修改,這也就違背了開閉原則。