天天看點

Java設計模式--抽象工廠模式抽象工廠模式(别名:配套)Abstract Factory Pattern(Another Name: Kit)類圖模式的結構與使用簡單的例子抽象工廠模式的優點适用抽象工廠模式的情景下載下傳源碼請到

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

provide an interface for creating an families of related or dependent objects without specifying their concrete classes。

Java設計模式--抽象工廠模式抽象工廠模式(别名:配套)Abstract Factory Pattern(Another Name: Kit)類圖模式的結構與使用簡單的例子抽象工廠模式的優點适用抽象工廠模式的情景下載下傳源碼請到

工廠方法模式的結構中包括四個角色。

+ 抽象産品(product):抽象類或接口,負責定義具體産品必須實作的方法。

+ 具體産品(concrete product):具體産品是一個類,如果product是一個抽象類,那麼具體産品是product的子類;如果product是一個接口,那麼具體産品去實作接口。

+ 構造者(creator):一個接口或者抽象類。構造者負責定義一個稱作工廠方法的抽象方法,該方法傳回具體産品類的執行個體。

+ 具體構造者(concrete creator):具體構造者重寫工廠方法使該方法傳回具體産品的執行個體。

抽象工廠模式可以為使用者建立一系列相關的對象,使使用者和建立這些對象的類脫耦。

使用抽象工廠模式可以友善的為使用者配置一系列對象。使用者使用不同的具體工廠就能得到一組相關的對象,同時也能避免使用者混到不同系列的對象中。

在抽象工廠模式中,可以随時增加“具體工廠”為使用者提供一組相關的對象。

系統需要為使用者提供多個對象,但不希望使用者直接使用new運算符執行個體化這些對象,即希望使用者和建立對象的類脫耦。

系統需要為使用者提供多個相關的對象,以便使用者聯合使用它們,但又不希望使用者來決定這些對象是如何關聯的。

系統需要為使用者提供一系列對象,但隻需要使用者知道這些對象有哪些方法可用,不需要使用者知道這些對象的建立過程。

<a href="https://github.com/androidwolf">mygithub</a>