一、概念:此模式的核心精神是封装类中变化的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色,分别是抽象工厂;具体工厂;抽象产品;具体产品。
二、UML示意图:

三、优缺点
优点:
- 当需要增加新的产品(Product)时不需要更改原代码,只需要增加新的具体工厂类和具体产品类就好了,符合开闭原则。
- 调用者不需要关心对象的生成过程
缺点:
- 需要对系统中的所以产品类和具体工厂类有所了解
- 因为每次增加新产品都要加新的工厂类和产品类,会造成系统有很多小类
- 因为所有的创建对象逻辑都集中在工厂类中,所以一旦工厂类出错,整个系统都会受影响。
四、简单工厂模式和工厂方法模式的区别
设计模式——工厂方法模式
原文:https://www.cnblogs.com/winsons/p/12490351.html