提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類.
應用場景:
一系列相互依賴的物件有不同的具體實現。提供一種「封裝機制」來避免客戶程式和這種「多系列具體物件建立工作」的緊耦合
**示例:
abstract class abstractproductaps:與工廠方法相比,抽象工廠的介面中包含了所有產品的建立.abstract class abstractproductb
class producta1 extends abstractproducta
class producta2 extends abstractproducta
class productb1 extends abstractproductb
class productb2 extends abstractproductb
abstract class abstractfactory
class concreatefactory1 extends abstractfactory
public function createproductb()
}class concreatefactory2 extends abstractfactory
public function createproductb()
}// 呼叫
$factory1 = new concreatefactory1();
$factory1->createproducta();
2 抽象工廠模式
參考 工廠方法模式和抽象工廠模式不好分清楚,他們的區別如下 工廠方法模式 乙個抽象產品類,可以派生出多個具體產品類。乙個抽象工廠類,可以派生出多個具體工廠類。每個具體工廠類只能建立乙個具體產品類的例項。抽象工廠模式 多個抽象產品類,每個抽象產品類可以派生出多個具體產品類。乙個抽象工廠類,可以派生出多...
2 抽象工廠(Abstract Factory)
注 於 抽象工廠uml 析 抽象工廠模式 client使用者需要三步 1.建立工廠 一種工廠可以有多種功能 2.生產產品物件 3.使用物件方法。factory.h created by dell on 2019 10 15.ifndef abstract factory factory h defi...
2 抽象工廠模式
一 基本模式 1.抽象工廠,具體工廠,抽象產品,具體產品作為其要素 2.具體工廠生產出具有 抽象產品 協議方法的產品 3.生產出的具體產品細節對使用者透明,使用者只需知道抽象產品的協議即可。4.使用時 abstractproduct aproduct concretefactory.createpr...