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

2021-08-29 13:08:41 字數 1272 閱讀 7819

一 、抽象工廠模式(abstract factory)

抽象工廠模式提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。

抽象工廠(abstract factory)模式,又稱工具箱(kit 或toolkit)模式。

二、建立過程如下

乙個具體工廠建立乙個產品族,乙個產品族是不同系列產品的組合,產品的建立的邏輯分在在每個具體工廠類中。所有的具體工廠繼承自同乙個抽象工廠。

客戶端建立不同產品族的工廠,產品族的工廠建立具體的產品對客戶端是不可見的。

增加新的產品族時,需要增加具體工廠類,符合ocp原則。

增加新產品時,需要修改具體工廠類和增加產品類,不符合ocp原則

如果沒有應對「多系列物件建立」的需求變化,則沒有必要使用抽象工廠模式,這時候使用簡單的靜態工廠完全可以。

三、乙個簡單的例項

// 產品 plant介面

public inte***ce iplant

//具體產品planta,plantb

public class planta implements iplant

public void dosomething()

}public class plantb implements iplant

public void dosomething()

}// 產品 fruit介面

public inte***ce ifruit

//具體產品fruita,fruitb

public class fruita implements ifruit

public void dosomething()

}public class fruitb implements ifruit

public void dosomething()

}// 抽象工廠方法

public inte***ce abstractfactory

//具體工廠方法

public class factorya implements abstractfactory

public ifruit createfruit()

}public class factoryb implements abstractfactory

public ifruit createfruit()

}

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...