1、动机
- 在软件工程中,经常面临着一系列相互依赖的对象的创建工作
- 避开常规的对象创建方法(new),提供一种封装的机制来避免客户程序和这种对象创建工作之间的紧耦合。
- 封装一组不同但相关的对象
2、类结构
一个工厂可以创建多个不同的产品族对象。
3、总结
- 如果没有应对“多系列对象构建”的需求变化,则没有必要使用抽象工厂模式,这时候使用简单的工厂就可以。
- “系列对象”指的是在某一特定系列下的对象之间有相互依赖、或作用的关系。不同系列的对象之间不可能相互依赖。
- 抽象工厂模式主要是在于应对“新系列”的需求变动。其缺点在于难以应对“新对象”的需求变化。
- 抽象工厂和简单工厂的区别在于为一组相关或者依赖的对象提供的创建接口,简单工厂只能为一类对象提供创建接口或者延迟对象的创建到子类中实现。