工厂方法模式 Factory Method Pattern
概念
工厂方法模式,简称为工厂模式,也被称为虚拟构造器(虚拟构造器)或多态工厂(多态工厂)。它是一种类创建模式。在工厂方法模式中,工厂的父类负责定义创建产品对象的通用接口,而工厂子类则负责生成具体的产品对象。这种方法的目的是将产品类的实例化推迟到工厂子类。这意味着由工厂子类决定实例化哪个具体的产品类。
- 如果你不想让某个子系统与较大的那个对象之间形成强耦合,而是想运行时从许多子系统中进行挑选的话,那么工厂模式是一个理想的选择
- 将 new 操作简单封装,遇到 new 的时候就应该考虑是否用工厂模式;
- 需要依赖具体环境创建不同实例,这些实例都有相同的行为,这时候我们可以使用工厂模式,简化实现的过程,同时也可以减少每种对象所需的代码量,有利于消除对象间的耦合,提供更大的灵活性
根据不同的输入返回不同类的实例
将对象的创建和实现分离
目的
为了避免简单工厂的缺点,工厂方法模式定义了一个创建对象的接口 但是动态地把类型选择交给了子类,创建过程被推迟 deferred 在了子类
