AbstractFactory Pattern 和 Factory Pattern 很相似,以至于很多人在使用的时候混淆,困惑。
这里我就大概说一下这两种设计模式的区别:
AbstractFactory 模式是为创建一组相关或以来的对象提供创建接口。这里的一组说明其有多个类,即它提供了多个类的创建接口。
Factory 模式是为一类对象提供创建接口或延迟对象的创建到自类中实现。
图例:
在上面图例中,ConcreteProductA1 和 ConcreteProductB1 两个类的生产方法都在ConcreteFactrory1 中实现,他们两个类的生产方法只用一个ConcreteFactory1的对象维护就可以,因此降低了工厂的维护成本和简化了工厂对象的维护工作。