設計模式總結之Abstruct Factory Pattern(抽象工廠模式)

目錄

創建型設計模式: 結構型設計模式: 行爲型設計模式:

Abstruct Factory Pattern(抽象工廠模式)

意圖

提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。


適用性

一個系統要獨立於它的產品的創建、組合和表示時。
一個系統要由多個產品系列中的一個來配置時。
當你要強調一系列相關的產品對象的設計以便進行聯合使用時。
當你提供一個產品類庫,而只想顯示它們的接口而不是實現時。


結構

 
參與者
AbstractFactory (抽象工廠) 
— 聲明一個創建抽象產品對象的操作接口。 
ConcreteFactory (具體工廠) 

— 實現創建具體產品對象的操作。 

AbstractProduct (抽象產品) 

— 爲一類產品對象聲明一個接口。 

ConcreteProduct (具體產品) 

— 定義一個將被相應的具體工廠創建的產品對象。 

— 實現AbstractProduct接口。 
Client(使用場景)

— 僅使用由AbstractFactory和AbstractProduct類聲明的接口。



例子

 



三種工廠模式的區別

工廠方法模式和抽象工廠模式的區別
簡單工廠模式:
只有一個工廠類一個生產方法,根據參數不同生產不同的產品。

工廠方法模式:
每一個工廠類只負責一個產品生產,不生成其它產品。好比一條生產線只生產一個產品線。

抽象工廠模式:
每一個工廠類提供多個方法,可以生產不同的產品。好比多條生產線可以生產多家產品。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章