創建型設計模式之工廠三兄弟

如題,今天我要將工廠模式三兄弟總結下,工廠三兄弟即:簡單工廠模式、工廠方法模式、抽象工廠模式。

簡單工廠模式

簡單工廠:簡單工廠定義了一個用於生產對象的類,用來封裝生產不同的產品實例的細節,使創建對象的邏輯與客戶端相分離。客戶端只需要向這個類進行申請,即可獲得相應的產品實例,不需要關心對象的創建過程。

簡單工廠模式的組成:工廠類、抽象產品類、具體產品類。

優點:封建對象的創建過程,使客戶端與具體的創建對象邏輯相分離。

缺點:在進行功能的擴展時,需要修改生產對象類中的switch語句,導致不符合開放-封閉原則。

UML圖
在這裏插入圖片描述

工廠方法模式

工廠方法模式:定義一個用於創建對象的接口,子類來決定實例化哪一個類。工廠方法使類的實例化延遲到子類中。

工廠方法模式的組成:抽象工廠類、具體工廠類、抽象產品類、具體產品類

優點:符合單一職責原則,每個工廠只負責它自己的產品。
缺點:如果需要增加新的產品,就必須擴建一個新的工廠類。

UML圖
在這裏插入圖片描述

抽象工廠模式

抽象工廠模式:抽象工廠提供了一個創建一系列相關且或互相依賴對象的接口,無需指定他們具體的類。

抽象工廠模式的組成:抽象工廠類、具體工廠類、抽象產品類、具體產品類

優點:方便在生產不同的產品之間切換,如果想要生產不同的產品,只需要切換具體的工廠類。

缺點:擴充新的產品時比較繁瑣

UML
在這裏插入圖片描述
寫在結尾:
看我畫的UML圖,大概就知道我減肥的心態了吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章