抽象工厂模式是对象的创建模式,它是工厂方法模式的进一步推广。
抽象工厂定义的一系列对象通常是相关或相互依赖的,这些产品对象就构成了一个产品族,也就是抽象工厂定义了一个产品族。通过使用抽象工厂模式,可以处理多个产品族中的产品对象的创建问题。
抽象工厂模式与工厂方法模式的最大区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则需要面对多个产品等级结构,将产品结构变为产品族工厂。正如前文打印文件的例子,标准版的html和财政版的html可以看成一个等级结构,而标准版的html和pdf则可以看成个产品族。