設計模式筆記 - 工廠模式
分類
- 創建型
模式的目的(定義)
-
工廠模式實際上包含了兩種模式:
- 工廠方法模式:創建一個包含了「工廠方法」的基類,然後讓具體的創建者作為子類,並覆寫該方法,讓子類自己去創建對象;基類只負責把創建操作委托給子類執行
- 抽象工廠模式:把創建對象所需要的「子產品」(如:各種材料)分離出去,創建它們的抽象類,然後工廠裡再通過組合這些子產品的創建,獲得一個完整的產品
-
兩種工廠的目的都是為了把創建對象行為進行封裝,減少創建者對具體創建對象類的依賴
使用場景例子
- 當需要有一個比較規範的對象創建流程時,都可以使用工廠模式
- 如果只是需要創建一些簡單的對象,可以使用工廠模式
- 如果是想更有彈性地,提供一個「產品家族」的創建流程,讓不同的產品可以使用不同的「子產品」來組合而成,就可以使用抽象工廠模式
類圖

參考書目
- 《Head First Design Patterns》Eric Freeman, Elisabeth Robson, Kathy Sierra, Bert Bates