参考文献

简单工厂模式

  • 也称为简单工厂(Simple Factory)或静态工厂方法(Static Factory Method)
  • 创建对象而不向客户端公开实例化逻辑。
  • 通过公共接口引用新创建的对象
  • 简单工厂模式通过一个工厂类来创建不同类型的对象,客户端只需要给工厂传入相应的参数,由工厂来根据参数判断要创建哪一种对象,并返回该对象给客户端使用。简单工厂模式的核心是工厂类,它负责创建对象。

组件

  • 产品接口(Product Interface)
  • 工厂类(Factory Class)
  • 具体产品(Concrete Product Class)

具体实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class VideoFactory {
public Video getVideo(String type) {
switch (type) {
case "Java":
return new JavaVideo();
case "Python":
return new PythonVideo();
default:
return null;
}
}

public Video getVideo(Class clazz) {
Video video = null;
try {
video = (Video) Class.forName(clazz.getName()).newInstance();
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
e.printStackTrace();
}
return video;
}
}