一、简单工厂模式
简单工厂模式:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法模式。
二、工厂方法模式
工厂方法模式不再提供一个统一的工厂类来创建所有的产品对象,而是针对不同的产品提供不同的工厂,比如课程对象由课程工厂创建,学生对象由学生创建。其原理是定义一个用于创建对象的接口,让子类决定将哪一个类实例化。但一旦需要创建的对象过多,那么工厂类容易过多,增加复杂度。
抽象工厂模式
1.先定义使用的抽象类(产品族)
2.把同一产品族放到一个抽象工厂类
3.具体的产品族—实现产品族抽象类
4.把产品族实现类加入到产品族工厂类,由工厂类创建需要使用的单一产品的类实例。