调用者不必关心对象创建的具体过程,只需要提需求,由工厂模式负责产出对象。达到了隐藏对象创建的细节的目的。
让需求和建造过程分离。
分为三种更加细分的类型:简单工厂、工厂方法、抽象工厂。
工厂根据调用者的参数,或配置文件,动态实例化不同的对象 (具有相当父类的同一系列对象)。
工厂的‘参变量’来源:
- 方法参数
- xml 配置文件
- 其它配置文件,如 json 等
工厂中往往使用‘反射机制’来解析‘参变量’,以用于动态实例化对象。
工厂模式的作用是,隐藏实例创建的复杂度,提供一个简单清晰的接口。
如 vue 源码中的创建异步组件。