java設計模式 抽象工廠模式

2021-06-16 22:15:20 字數 1629 閱讀 4802

1.概念 

《設計模式》一書中對於抽象工廠模式是這樣定義的:提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。

// 產品 plant介面    

public inte***ce plant //標誌介面

//具體產品planta,plantb

public class planta implements plant

public void dosomething()

}

public class plantb implements plant

public void dosomething()

}

// 產品 fruit介面

public inte***ce fruit

//具體產品fruita,fruitb

public class fruita implements fruit

public void dosomething()

}

public class fruitb implements fruit

public void dosomething()

}

// 抽象工廠方法

public inte***ce abstractfactory

//具體工廠方法

public class factorya implements abstractfactory

public fruit createfruit()

}

public class factoryb implements abstractfactory

public fruit createfruit()

}

//呼叫工廠方法   

public client

}

3、抽象工廠模式與工廠方法模式的區別 

可以這麼說,工廠方法模式是一種極端情況的抽象工廠模式,而抽象工廠模式可以看成是工廠方法模式的一種推廣。 

(1)、其實工廠方法模式是用來建立乙個產品的等級結構的,而抽象工廠模式是用來建立多個產品的等級結構的。工廠方法建立一般只有乙個方法,建立一種產品。抽象工廠一般有多個方法,建立一系列產品。 

(2)、工廠方法模式只有乙個抽象產品類,而抽象工廠模式有多個。工廠方法模式的具體工廠類只能建立乙個具體產品類的例項,而抽象工廠模式可以建立多個。 

簡而言之-> 

工廠方法模式:乙個抽象產品類,可以派生出多個具體產品類。   

乙個抽象工廠類,可以派生出多個具體工廠類。   

每個具體工廠類只能建立乙個具體產品類的例項。   

抽象工廠模式:多個抽象產品類,每個抽象產品類可以派生出多個具體產品類。   

乙個抽象工廠類,可以派生出多個具體工廠類。   

每個具體工廠類可以建立多個具體產品類的例項。

JAVA設計模式 抽象工廠模式

目錄 一 什麼是抽象工廠模式 二 模式中包含的角色及其職責 三 抽象工廠模式的優缺點 抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的。抽象工廠模式可以向客戶端提供乙個介面,使得客戶端在不必指定產品的具體型別的情況下,能夠建立多個產品族的產品物件。抽象工廠 factory 角色 抽象工廠模式...

Java設計模式 抽象工廠模式

抽象工廠模式可以向客戶端提供乙個介面,使得客戶端在不必指定產品具體型別的情況下,建立多個產品族中的產品物件。這就是抽象工廠模式的用意。每個模式都是針對一定問題的解決方案。抽象工廠模式面對的問題是多產品等級結構的系統設計。在學習抽象工廠具體例項之前,應該明白兩個重要的概念 產品族和產品等級。產品族 是...

JAVA設計模式 抽象工廠模式

抽象工廠模式 abstact factory pattern 也是建立型模式之一 之前主要介紹了工廠方法模式 抽象工廠模式和工廠方法模式稍有區別 工廠方法模式中工廠類生產出來的產品都是具體的 也就是說每個工廠都會生產某一種具體的產品 但是如果工廠類中所生產出來的產品是多種多樣的 工廠方法模式也就不再...