1 概念定義 1 概念定義 1.1 定義 定義一個用於創建對象的介面,讓子類決定實例化哪一個類。工廠方法使一個類的實例化延遲到其子類。 1.2 類型 創建類模式 2 原理特征 2 原理特征 2.1 類圖 2.2 優點 1)封裝性良好,代碼結構清晰 2)可拓展性高,只需修改一下工廠方法或拓展一個工廠類 ...
1 概念定義
1.1 定義
定義一個用於創建對象的介面,讓子類決定實例化哪一個類。工廠方法使一個類的實例化延遲到其子類。
1.2 類型
創建類模式
2 原理特征
2.1 類圖
2.2 優點
1)封裝性良好,代碼結構清晰
2)可拓展性高,只需修改一下工廠方法或拓展一個工廠類
3)屏蔽產品類,調用者不需要關心產品類的變化
4)高度解耦,高層模塊只需知道產品抽象類,無需關註實現
2.3 缺點
代碼複雜度增加
3 .應用拓展
3.1 應用場景
1) 有一組類似的對象需要創建
2) 在編碼時不能預見需要創建那種類的實例。
3) 系統需要考慮可拓展性,不應依賴於產品類實例如何被創建、組合和表達的細節。
4) 工廠方法可用於異構項目中
3.2 實踐拓展
https://github.com/Devonmusa/java-demos/tree/master/src/main/java/com/designpattern/factorymethods
4 註意事項
1).工廠方法模式關註對象整體,不關註過程和細節