設計模式筆記 – 工廠模式

分類

  • 創建型

模式的目的(定義)

  • 工廠模式實際上包含了兩種模式:
    • 工廠方法模式:創建一個包含了「工廠方法」的基類,然後讓具體的創建者作為子類,並覆寫該方法,讓子類自己去創建對象;基類只負責把創建操作委托給子類執行
    • 抽象工廠模式:把創建對象所需要的「子產品」(如:各種材料)分離出去,創建它們的抽象類,然後工廠裡再通過組合這些子產品的創建,獲得一個完整的產品
  • 兩種工廠的目的都是為了把創建對象行為進行封裝,減少創建者對具體創建對象類的依賴

使用場景例子

  • 當需要有一個比較規範的對象創建流程時,都可以使用工廠模式
    • 如果只是需要創建一些簡單的對象,可以使用工廠模式
    • 如果是想更有彈性地,提供一個「產品家族」的創建流程,讓不同的產品可以使用不同的「子產品」來組合而成,就可以使用抽象工廠模式

類圖

參考書目

  • 《Head First Design Patterns》Eric Freeman, Elisabeth Robson, Kathy Sierra, Bert Bates