GoF设计模式之三 Factory Method- -

来源:百度文库 编辑:神马文学网 时间:2024/04/28 19:34:19
A3) Factory Method (工厂模式)
定义:定义一个创建对象的接口,并让子类来决定由哪个类实现这个接口。工厂模式将接口实例化交给子类完成。
工厂模式是非常常见的模式,通常与动态类的加载相结合使用。常用的JDBC中,只返回一个Connection接口,而Connection的具体实现则由不同的数据库供应商来提供。
对于工厂模式和抽象工厂,有必要多分析一下两者的区别,我也很久没有搞清楚。相似点:都把创建对象的工作交给了子类来做,自己只是提供一个接口。区别:工厂模式所要创建的对象相对来说非常简单,而且对象相互独立,没有联系。通常情况,只从一个工厂中取得一个对象,如LogManager.getLogger();而抽象工厂是工厂模式的一种升级,它所要创建的对象复杂且相互关联(如不同的茶叶对于水温的要求不同),运用工厂模式很难保证对象的一致性且扩展性不好,这时就需要将这部分对象的创建提取出来,形成抽象工厂。
参考:
1、http://www.jdon.com/designpatterns/designpattern_factory.htm(中文、java实例)
2、http://www.dofactory.com/Patterns/PatternFactory.aspx(英文、C#实例、UML)
3、http://www.techscore.com/tech/DesignPattern/FactoryMethod.html(日文、java实例、UML)推荐