初识工厂模式
所有工厂模式都用来封装对象的创建。工厂方法模式(Factory Method Pattren)通过让子类决定该创建的对象是什么,来达到将对象创建的过程封装的目的。
让我们看下类图,以了解有哪些组成元素:
创建者(Creator)类
产品类
另一个观点:平行的类层级
我们已经看到,经一个orderPizza()方法和一个工厂方法联合起来,就可以成为一个框架,除此之外,工厂方法将生产知识封装进各个创建者。
让我们来看看这两个平行的类层级,并认清他们的关系
定义工厂方法模式
下面是工厂方法的具体定义
工厂模式方法:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。
如下图
设计原则
依赖倒置原则(Dependency Inversion Principle
):要依赖抽象,不要依赖具体类。