模式定义
简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
JDK应用
- java.util.Calendar#getInstance()
- java.util.ResourceBundle#getBundle()
- java.text.NumberFormat#getInstance()
- java.nio.charset.Charset#forName()
- java.util.EnumSet#of()
优缺点
简单工厂模式实现了生成产品类的代码跟客户端分离,在工程类里面可以添加所需生成产品的逻辑。缺点是每次增加一种算法类型,都需要修改工厂类,不符合开闭原则