提供乙個介面,用於建立 相關的物件家族 。
抽象工廠模式建立的是物件家族,也就是很多物件而不是乙個物件,並且這些物件是相關的,
也就是說必須一起建立出來。而工廠方法模式只是用於建立乙個物件,這和抽象工廠模式有很大不同。
從高層次來看,抽象工廠使用了組合,而工廠方法模式使用了繼承。
public class abstractproducta
public class abstractproductb
public class producta1 extends abstractproducta
public class producta2 extends abstractproducta
public class productb1 extends abstractproductb
public class productb2 extends abstractproductb
public abstract class abstractfactory
public class concretefactory1 extends abstractfactory
abstractproductb createproductb()
}
public class concretefactory2 extends abstractfactory
abstractproductb createproductb()
}
public class client
}
特點:
優點:缺點:
建立型模式之抽象工廠模式
寫在前面 抽象工廠模式 抽象工廠模式結構圖 框架 abstract class abstractfactory class concretefactory1 extends abstractfactory public abstractproductb createproductb class co...
建立型模式之抽象工廠模式
為一組相關或相互依賴的物件提供乙個介面,而且無需指定他們的具體類。產品族內的約束為非公開狀態,在不同的工廠中,各種產品之間可能具有不同的相互依賴關係,這些依賴關係由工廠封裝在其內部,對於工廠的使用者來說這些依賴關係是不可見的。生產線的擴充套件非常容易。如果要針對同一產品族建立新的生產線,只需要實現產...
建立型模式 抽象工廠
提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。抽象工廠模式 abstract factory 是乙個比較複雜的建立型模式。抽象工廠模式和工廠方法不太一樣,它要解決的問題比較複雜,不但工廠是抽象的,產品是抽象的,而且有多個產品需要建立,因此,這個抽象工廠會對應到多個實際工廠,每個...