【設計模式筆記】建立型--抽象工廠模式

 

抽象工廠模式

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

 

類圖 

AbstractFactory:聲明一組用於建立一族產品的方法,每一個方法對應一種產品;設計

ConcreteFactory:實現抽象工廠建立產品的方法,生成一組具體產品,這些產品構成了一個產品族,每一個產品都位於某個產品等級中。對象

AbstractProduct:爲每種產品聲明接口,抽象產品中定義了該產品的全部業務方法blog

ConcreteProduct:定義某個具體工廠生產的具體產品對象,實如今抽象接口中聲明的業務方法;接口

 抽象工廠的優勢

一、隔離了具體類的生成,客戶不須要關注什麼被建立;產品

二、當一個產品族中多個對象被設計成一塊兒工做時,能保證客戶端始終只使用同一產品族中對象;配置

三、增長新的產品族很方便,無需改動已有系統,符合開閉原則。方法

 

 抽象工廠適用場景

一、一個系統不該當依賴於產品類實例如何被建立,組合和表達的細節。用戶無需關注對象建立過程,將對象的建立和使用解耦;im

二、系統有多於一個的產品族,每次使用其中一個產品族,可經過配置文件等方式來使得用戶能夠動態改變產品族,也能夠方便增長新的產品族;配置文件

三、屬於同一產品族的產品將放在一塊兒使用。這一約束必須在系統的設計中體現出來;

四、產品等級結構穩定,設計完成後,不會向系統中增長新的產品等級結構或者刪除已有的產品登記結構;

相關文章
相關標籤/搜索