转载请注明出处http://blog.csdn.net/evankaka
一、工厂方法模式
定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类所谓的决定并不是批模式允许子类本身在运行时做决定,而是指在编写创建者类时,不需知道创建的产品是哪一下,选择了使用
哪个子类,就决定了实际创建的产品是什么。
二、使用范例
效果:
三、工厂方法模式优缺点
优点:
实现了基于工厂角色和产品角色的多态性设计。它能够使工厂自主确定创建何种产品对象,而如何创建这个对象的细节完全封装在具体工厂内部。另外,系统中加入新产品时,无需修改抽象工厂提供的接口,无需修改其它的具体工厂,只需要添加新的具体工厂和产品。
缺点:
需要Creator和相应的子类作为工厂方法的载体,增加了一个层次。
联系:
工厂方法模式是简单工厂模式的进一步抽象和推广,定义了工厂接口,将实际的创建工作推迟到子类中,如果只有一个具体工厂类,可以改造为简单工厂模式。