1. 程式人生 > >簡單工廠模式到工廠方法模式到抽象工廠模式的發展過程

簡單工廠模式到工廠方法模式到抽象工廠模式的發展過程

簡單工廠模式結構圖:
在這裡插入圖片描述
工廠方法模式結構圖:
在這裡插入圖片描述
抽象工廠模式結構圖:
在這裡插入圖片描述

從上面三張圖的發展可以看出:

簡單工廠模式將產品物件建立過程進行收攏,統一由工廠方法輸出;存在的問題就是工廠方法內部邏輯存在大量的if-else語句;不符合開閉原則和單一職責原則

然後發展了工廠方法模式,定義抽象工廠類和負責建立具體產品物件的具體工廠類,每個具體工廠類負責建立一個產品,解決了簡單工廠中if-elsey語句,符合了開閉原則和單一職責原則;此時,如果產品型別增加,會造成對應的抽象工廠和具體工廠需要同步增加一套的問題;

最後發展了抽象工廠模式,抽象工廠模式定義的抽象工廠類和負責建立具體產品物件的具體工廠類數量是一致的,只是每一個具體工廠類需要負責建立一批產品物件,也就是產品族,產品族是由抽象產品類定義組成。

使用過程,需要結合實際情況,簡單工廠模式和工廠方法模式是不難選擇的,考慮符合開閉原則和單一職責原則,就工廠方法模式,不考慮,就簡單工廠模式;如果具有多個產品型別,形成了產品族,那隻能選擇抽象工廠模式了。