JAVA設計模式之抽象工廠模式

2021-08-02 15:59:53 字數 1535 閱讀 1892

抽象工廠模式**

產品類:

//發動機以及型號    

public inte***ce engine     

public class enginea extends engine    

}    

public class enginebextends engine    

}    

//空調以及型號    

public inte***ce aircondition     

public class airconditiona extends aircondition    

}    

public class airconditionb extends aircondition    

}

建立工廠類:

//建立工廠的介面    

public inte***ce abstractfactory     

//為寶馬320系列生產配件    

public class factorybmw320 implements abstractfactory    

@override    

public aircondition createaircondition()     

}    

//寶馬523系列  

public class factorybmw523 implements abstractfactory     

@override    

public aircondition createaircondition()  

}

客戶:

public class customer     

}

區別 工廠方法模式:

乙個抽象產品類,可以派生出多個具體產品類。   

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

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

抽象工廠模式:

多個抽象產品類,每個抽象產品類可以派生出多個具體產品類。   

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

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

區別:工廠方法模式只有乙個抽象產品類,而抽象工廠模式有多個。   

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

總結:無論是簡單工廠模式,工廠方法模式,還是抽象工廠模式,他們都屬於工廠模式,在形式和特點上也是極為相似的,他們的最終目的都是

為了解耦。在使用時,我們不必去在意這個模式到底工廠方法模式還是抽象工廠模式,因為他們之間的演變常常是令人琢磨不透的。經常你會發現,明明使用的工廠方法模式,當新需求來臨,稍加修改,加入了乙個新方法後,由於類中的產品構成了不同等級結構中的產品族,它就變成抽象工廠模式了;而對於抽象工廠模式,當減少乙個方法使的提供的產品不再構成產品族之後,它就演變成了工廠方法模式。

java設計模式之抽象工廠模式

以肯德基麥當勞為例 解析抽象的工廠模式,以下是 的實現 第乙個介面 hb 建立漢堡的工廠 package com.factory.hb hb 漢堡 author lx public inte ce factoryhb 第乙個實現類 肯德基的漢堡 package com.imple.hb import...

Java設計模式之抽象工廠模式

上兩篇講解了簡單工廠模式和工廠方法模式,下面講解工廠模式的最後乙個抽象工廠模式 隨著客戶的要求越來越高,寶馬車需要不同配置的空調和發動機等配件。於是這個工廠開始生產空調和發動機,用來組裝汽車。這時候工廠有兩個系列的產品 空調和發動機。寶馬320li系列配置a型號空調和a型號發動機,寶馬520li系列...

Java設計模式之抽象工廠模式

一 什麼是抽象工廠模式 抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的。抽象工廠模式可以向客戶端提供乙個藉口,使得客戶端在不必指定產品的具體型別的情況下,能夠建立多個產品族的產品物件。fruit介面 public inte ce fruit public abstract fruit ba...