定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method是一个类的实例化延迟到其子类。
Factory Method的一个潜在缺点在于客户可能仅仅为了创建一个特定的产品对象,就不得不创建工厂(Creator)的子类。
用Factory Method在一个类的内部创建对象通常比直接创建对象更灵活。Factory Method给子类一个挂钩以提供对象的扩展版本。
实现主要有两种情况:1、Creator类是一个抽象类并且不提供它所声明的工厂方法的实现。2、Creator是一个具体的类而且为工厂方法提供一个缺省的实现。
可以使用参数。