抽象工廠模式

2022-07-01 08:18:10 字數 1589 閱讀 3394

(a)工廠方法模式吧用於建立具備一定等級結構的產品

(b)抽象工廠是多個工廠方法模式的綜合應用,因為他要建立多個具備一定等級結構的產品(產品族)

抽象產品:漢堡、飲料

具體產品: 雞腿堡 牛肉煲  牛奶、可樂

抽象工廠:只能生產**(漢堡+飲料)

具體工廠:肯德基(kfc)、麥當勞(mfc)

kfc:只能生產(牛肉煲+可樂)

mfc:  只能生產(雞肉堡+牛奶)  

(例項)spring中cleinthttprequest中訊息頭訊息體的建立

1、抽象產品(漢堡、飲料)

//

漢堡public

abstract

class

hamburg

//飲料

public

abstract

class

drinks

2、具體產品

//

雞肉堡public

class chickenburger extends

hamburg }//

牛肉煲public

class beefburger extends

hamburg}//

可樂public

class cokedrinks extends

drinks}//

奶茶public

class milkdrinks extends

drinks

}

3、抽象工廠

//

抽象食品工廠

public

abstract

class

abstractfoodfactory

4、具體工廠

//

kfc **(牛肉煲 可樂)

public

class kfcfactory extends

abstractfoodfactory

@override

//可樂

public

drinks createdrinks() }//

mfc **2(雞肉堡 奶茶)

public

class mfcfactory extends

abstractfoodfactory

@override

//奶茶

public

drinks createdrinks()

}

5、測試

優點:工廠方法模式會產生多個工廠類,基於次劣勢借助抽象工廠模式建立產品族物件,節省資源

缺點:一旦有新的產品產生,擴充套件起來麻煩(的修改工廠類、以及具體的實現類),不符合開閉原則  

抽象工廠模式 抽象工廠模式

抽象工廠模式其實是圍繞了乙個超級工廠建立其他的工廠 可參考工廠模式 這個超級工廠又可以想像成是其他工廠的工廠,這種設計模式是一種建立型模式。在抽象工廠模式中,介面是負責建立乙個相關物件的工廠,不需要顯式指出其類。每個生成的工廠都能按照工廠模式提供物件。意圖提供乙個建立一系列相關或相互依賴物件的介面,...

工廠模式 抽象工廠模式

這裡使用簡單的話來講解工廠模式,不涉及程式設計 什麼是工廠模式呢?我的理解是對抽象介面例項的封裝。假如有乙個介面,有若干的實現類,代表不同的例項。傳統產生物件的方法是直接new乙個出來,對於每個例項都要new,當實現介面的類較多時會很麻煩,並且類的實現也暴露出來了。工廠模式是一種產生物件的模式,使用...

工廠模式 抽象工廠模式

子類父類代換 場景 在不同的條件下,需要建立不同的實現子類時。如網路通訊可以使用tcp udp。可以實現同乙個介面,通過工廠類根據條件 tcp或udp 來例項化不同的子類。這些子類符合黎克特制代換原則。public inte ce tlprotocol public class tcpimpleme...