一个算不上设计模式的设计模式

定义

其实就是一个静态方法, 根据入参的不同, 返回不一样的实现类

image.png

角色

想要使用简单工厂需要三种角色

  1. 抽象产品类: 一个抽象类, 规范了一些共性的方法
  2. 具体产品类: 继承抽象产品类
  3. 简单工厂: 一个静态方法, 可以通过不同入参来产出不同的具体产品类的实体

找个类似的例子:

  1. Charset charset = Charset.forName("utf-8");
  • Charset是一个抽象类, 规范了一些行为
  • Charset.forName()相当于一个简单工厂, 这个静态方法可以返回不同的Charset实现