主要功能:创建一组相关或者相互依赖的对象。
该模式涉及到如下几个类:
1. AbstractFactory以及其子类ConcreteAbstractFactory;
2. AbstractProductA以及其子类ConcreteAbstractProductA;
2. AbstractProductB以及其子类ConcreteAbstractProductB;
其中后两者是相关或者相互依赖的。
关键点:将一组对象的创建封装到一个用于创建对象的类中,维护这样一个创建类要比维护n多相关对象的创建过程要简单的多。
AbstractFactory是为创建一组(有多类)相关或者相互依赖的对象提供创建接口,而Factory是为一类对象提供创建接口或者延迟对象的创建到子类中实现。且前者往往是使用后者实现。