抽象工廠模式 Abstract Factory

抽象工廠模式 Abstract Factory

動機(Motivation)

  • 在軟件系統中,常常面臨着「一系列相互依賴的對象」的建立工做;同時,因爲需求的變化,每每存在更多系列對象的建立工做。
  • 如何應對這種變化?如何繞過常規的對象建立方法(new),提供一種「封裝機制」來避免客戶程序和這種「多系列具體對象建立工做」的緊耦合?

模式定義

提供一個接口,讓該接口負責建立一系列「相關或者相互依賴的對象」,無需指定它們具體的類。——《設計模式》GoFjava

結構(Structure)

要點總結

  • 若是沒有應對「多系列對象構建」的需求變化,則沒有必要使用 Abstract Factory 模式,這時候用簡單的工廠徹底能夠。
  • 「系列對象」指的是在某一特定系列下的對象之間有相互依賴、或做用的關係。不一樣系列的對象之間不能相互依賴。
  • Abstract Factory 模式主要在於應對「新系列」的需求變更。其缺點在於難以應對「新對象」的需求變更。

代碼實現

模擬場景:手機工廠git

抽象工廠模式-示例代碼github

示例代碼類圖:設計模式

相關文章
相關標籤/搜索