工厂方法模式可以解决简单工厂违背开放-封闭原则的弊端。它在简单工厂的基础上,为每一个操作创建了相应的生成工厂,这些生成工厂继承自同意的工厂接口。具体的说明:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。
对于简单工厂结构图的改进如下:
适用环境:
当一个类不知道它所必须创建的对象的类的时候。
当一个类希望由它的子类来指定它所创建的对象的时候。
当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。
本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/archive/2011/08/12/DesignPattern-FactoryMethod.html,如需转载请自行联系原作者