1、它分离了具体的类:一个工厂就会制造出一种产品。产品包括了很多东西,比如包装,原料加工。抽象工厂模式帮助客人不需要关心这些,只要调用了这个工厂,就会得到一个已经完成了的产品。
2、它使的易于交换产品系列:如果你想换一种产品,那就换一个工厂就好了。
3、它有利于产品的一致性:保证客人一次只能使用一种产品。
4、难以支持新种类的产品:比较难扩展。
抽象工厂里的每一个工厂就是所谓的工厂模式
每一个工厂只能有一个实例就是单例模式
具体工厂可以使用Prototype模式 给每一个产品实例初始化