設計模式 工廠方法模式
阿新 • • 發佈:2021-11-28
工廠方法模式(Factory Method Pattern):(工廠模式)也叫做虛擬構造器模式或者多型工廠模式,屬於類建立型模式。在工廠方法模式中,工廠父類負責定義建立產品物件的公共介面,而工廠子類負責生成具體的產品物件。
工廠方法模式包含如下四種角色:
- Protect:抽象產品
- ConcreteProtect:具體產品
- Factory:抽象工廠
- ConcreteFactory:具體工廠
具體流程為客戶端掌握具體工廠的名稱,根據具體工廠的名稱向抽象工廠傳送請求,獲取到一個具體工廠的物件,由具體工廠物件創建出具體的產品,關係類圖如下,客戶端引用抽象工廠和和抽象產品類,具體工廠和具體產品類分別繼承抽象工廠以及抽象產品類,具體工廠引用具體產品類,關係為製造關係。
工廠方法模式優點:
- 使用者只需要關心所需產品對應的工廠,無需關心建立細節,甚至無需關心具體產品類的類名。
- 工廠可以自主確定建立何種產品物件,而如何建立這個物件的細節則完全封裝在具體產品內部。
- 在系統中增加新產品是,無需修改抽象工廠和抽象產品提供的具體介面,只需要新增一個具體工廠和具體產品即可。
缺點:
- 類的數量過多
- 增加了系統的抽象性和理解難度