抽象工廠模式可以用來生產不同產品族的全部產品。(對於新增加的產品,無能為力;但是支援增加產品族)
抽象工廠模式其實是工廠方法模式的公升級版本,在有多個業務品種和分類時,通過抽象工廠模式產生需要的物件是一種非常好的解決方案。
首先建立發動機引擎的介面與不同層次引擎的實現類:
public
inte***ce
engine
//高階引擎
class
luxuryengine
implements
engine
@override
public
void start()
}//低端引擎
class
lowengine
implements
engine
@override
public
void start()
}
建立座椅介面與不同層次座椅的實現類:
public
inte***ce
seat
class
luxuryseat
implements
seat
}class
lowseat
implements
seat
}
建立輪胎介面與不同層次輪胎的實現類:
public
inte***ce
tyre
class
luxurytyre
implements
tyre
}class
lowtyre
implements
tyre
}
建立ca***ctory工廠介面:
public
inte***ce ca***ctory
針對不同層次的汽車,就要使用不同層次的汽車工廠類來建立,繼承ca***ctory介面即可:
public
class
luxuryca***ctory
implements
ca***ctory
@override
public seat createseat()
@override
public tyre createtyre()
}public
class
lowca***ctory
implements
ca***ctory
@override
public seat createseat()
@override
public tyre createtyre()
}
最後,客戶端實現:
public
class client
}
三)工廠模式 抽象工廠模式
1 工廠模式介紹建立型設計模式,結構簡單的模式,建立物件的介面,讓子類決定例項化哪個類 2 工廠模式使用場景 在任何需要生成複雜物件的地方,都可以使用,用new就可以生成就無需使用 3 工廠模式的組成 分為四大模組,一是抽象工廠,為工廠方法模式的核心,二是具體工廠,實現具體的業務邏輯,三是抽象產品,...
抽象工廠模式 抽象工廠模式
抽象工廠模式其實是圍繞了乙個超級工廠建立其他的工廠 可參考工廠模式 這個超級工廠又可以想像成是其他工廠的工廠,這種設計模式是一種建立型模式。在抽象工廠模式中,介面是負責建立乙個相關物件的工廠,不需要顯式指出其類。每個生成的工廠都能按照工廠模式提供物件。意圖提供乙個建立一系列相關或相互依賴物件的介面,...
模式三 抽象工廠模式
抽象工廠是指乙個等級結構可以建立出分屬於不同產品等級結構的乙個產品族中的所有物件。抽象工廠角色 擔任這個角色的是工廠方法模式的核心,它是與應用系統商業邏輯無關的。具體工廠角色 這個角色直接在客戶端的呼叫下建立產品的例項。抽象產品角色 擔任這個角色的類是工廠方法模式所建立的物件的父類,或它們共同擁有的...