定义:
提供一个创建一系列相关或者相互依赖对象的接口,而无需制定它们具体的类。抽象工厂(Abstract Factory)模式又成为Kit模式,属于对象创建型模式。
抽象工厂模式与工厂方法模式最大的区别在于:工厂方法模式针对的是一个产品等级结构,而抽象工厂模式则针对的是多个产品等级结构。正因为如此,在抽象工厂模式中经常会用到产品族(Product Family)这一概念,它指的是位于不同的产品等级结构中,并且功能相互关联的产品系列。
应用情景:
1,系统需要屏蔽有关对象如何创建,如何组织和如何表示。
2,系统需要由关联的对个对象来构成。
3,有关联的多个对象需要一起应用并且它们的约束是强迫的(不可分离)。
4,你想提供一组对象而不显示它们的实现过程,只显示它们的接口。