1. 程式人生 > >八、Java設計模式之工廠方法

八、Java設計模式之工廠方法

定義:

  • 抽象工廠模式提供一個建立一系列相關或者相互依賴物件的介面
  • 無需指定它們具體的類
  • 型別:建立型

抽象工廠-適用場景:

  • 客戶端(應用層)不依賴於產品類例項如何被建立、實現等細節
  • 強調一系列相關的產品物件(屬於同一產品族)一起使用建立物件需要大量重複的程式碼
  • 提供一個產品類的庫,所有的產品以同樣的接口出現,從而使客戶端不依賴於具體實現

抽象工廠-優點:

具體產品在應用層程式碼隔離。無須關心建立細節

將一個系列的產品族統一到一起建立

抽象工廠-缺點:

  • 規定了所有可能被建立的產品集合,產品族中擴充套件新的產品困難,需要修改抽象工廠的介面
  • 增加了系統的抽象性和理解難度

 

注:相同顏色表示一個產品族,相同形狀的為一個產品等級結構