抽象工廠是同時建立多個介面(多個產品)的實現類物件,實現解耦合
抽象工廠模式能夠處理更加複雜的物件的細節封裝,可以對乙個產品簇(多個介面)封裝細節,對外部呼叫實現透明。而簡單工廠模式和工廠方法模式都是對乙個產品(乙個介面)進行操作。抽象工廠模式存在多個工廠實現類,可以結合簡單工廠模式,根據type建立不同的抽象工廠實現類,進一步封裝內部細節,進一步跟client端解耦合
一切複雜物件的建立都可以使用工廠模式
當工廠模式需要在工廠方法中操作多個產品(介面)的時候使用抽象工廠模式
工廠需要操作多個介面
/**
* 產品介面 a
* */
public
inte***ce
iproducta
/** * 產品實現類a1
*/public
class
concreateproducta1
implements
iproducta
}/**
* 產品實現類a2
*/public
class
concreateproducta2
implements
iproducta
}/**
* 產品介面b
* */
public
inte***ce
iproductb
/** * 產品實現類b1
*/public
class
concreateproductb1
implements
iproductb
}/**
* 產品實現類b2
*/public
class
concreateproductb2
implements
iproductb
}/**
* 抽象工廠類
* */
public
abstract
class
factory
}public
class
concreatefacotry1
extends
factory
/*** 實現類中建立對應的productb的子類返回
*/@override
protected iproductb getproductb()
}public
class
concreatefacotry2
extends
factory
/*** 實現類中建立對應的productb的子類返回
*/@override
protected iproductb getproductb()
}/**
* 客戶端呼叫
*/public
class
client
}
設計模式 工廠模式 抽象工廠模式
建立物件時不會對客戶暴露建立邏輯,並且通過使用乙個共同的介面來指向建立的物件。sept1 建立乙個公共介面,將要對外開放的方法在這裡定義。sept2 建立實現介面的類,用即實現對外開放的類的方法 sept3 建立工廠,提供乙個get方法,這個方法提供返回實現類的物件 建立選擇 sept4 使用,建立...
抽象工廠模式 常用設計模式 抽象工廠模式
提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。在工廠方法模式中,我們的具體建立者每次使用都只能建立乙個同型別的物件,假如我們現在需要的是多個不同型別的物件,工廠方法就滿足不了需求了。這時我們可以把多個工廠方法組合到乙個類,這就是抽象工廠模式,它就是專門用來建立多個產品,也可以說...
抽象工廠模式 設計模式(九) 抽象工廠模式
提供乙個為建立一組相關或相互依賴物件的介面,且無須指定它們的具體類。它屬於建立型模式。在抽象工廠模式中,每個具體工廠都提供了多個用於建立多種不同型別具體物件的方法,這些不同型別的物件都存在乙個共同的屬性,構成乙個族。上篇文章設計模式 八 工廠方法模式說到工廠方法模式中只考慮某一類產品的生產,例如可樂...