工厂方法模式
- 定义:定义一个工厂类的接口,由该接口的子类来决定实例化哪一个类。让一个类的实例化延时到他的子类。
- 通俗的讲:实现工厂的生产实现分布式,每一种产品由一个分工厂生产,这些工厂都属于同一个总工厂(接口或基类)。工厂和产品是一个对称的模型。
- 工厂方法模式中的角色:抽象工厂,具体工厂,抽象产品,具体产品。
- 抽象工厂 :定义工厂的接口或抽象类(使用抽象类可以隐藏工厂的方法)在抽象工厂中声明了工厂方法,返回一个产品。
- 工厂方法模型的理解图 :
- 工厂方法模式使用环境:
- 客户端不知道自己所需要对象的类。
- 抽象工厂类通过其子类来指定创建那个对象。
6.完全符合开闭原则 - 通过应用配置文件和反射机制来实例化类对象,在新添加类时,就不用修改源代码(对原系统没有影响),秩序添加新的产品类和工厂类,在配置文件中更换或添加该新类。