[待解决问题] 工厂方法模式(Factory Method)http://www.cnblogs.com/Terry
提问时间: 2008-01-09 09:40
该问题已到期 浏览:492 次

求解


提问者:rosanshao - 初学一级

问题补充:工厂方法模式(Factory Method)http://www.cnblogs.com/Terrylee/archive/2006/01/04/310716.html
抽象工厂模式(Abstract Factory)http://terrylee.cnblogs.com/archive/2005/12/13/295965.html
对工厂模式有了一定的了解,但是我没有看出这两种模式有什么区别,感觉就是一样的,特向园子里的朋友请教一下。

所有回答(6)
...最明显的一点区别:
假设A是你要使用对象的类,B是需要创建出实例的类.
Factory Method是通过A的方法来创建B的实例.
Abstract Factory是通过一个中间类C把B的实例创建并传给A.因为C只负责创建B的实例...哎呀,真不好写.建议看UML图比较它们的区别,最近正想写几篇Design Pattern的Blog

4个月前   回答者:斧头帮少帮主 - 菜鸟二级
工厂方法是将对象的构造过程隔离, 抽象工厂是对工厂方法的隔离。
4个月前   回答者:Colin Han - 小虾三级
我觉得一个很重要的区别是,工厂方法返回的是一个产品,而抽象工厂返回的则是一族产品
4个月前   回答者:Anders Cui - 小虾三级
抽象工厂:提供一个创建一系列或相关依赖对象的接口,而无需指定它们具体的类。
工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂模式使一个类的实例化延迟到其子类。

terrylee这个系列讲得蛮好,就是有点抽象了。建议LZ看完terrylee的系列以后再去看看伍迷的大话设计模式系列和小菜成长日记系列,讲得比较通俗易懂http://www.cnblogs.com/cj723/category/118146.html
http://www.cnblogs.com/cj723/category/88173.html

还有就是李建中老师的模式视频(总供200多M)和吕震宇老师的模式系列文章
http://www.cnblogs.com/zhenyulu/archive/2004/08.html

这些个都弄明白的话,以后就看LZ自己的修行了

忘了最重要的一件了,head first design patterns这本书很不错
4个月前   回答者:AndyFish - 小虾三级
最直观的区别:
在工厂方法模式里,一个工厂类只“生产”一种产品,不同的具体工厂生产的都是同一种产品的不同子类。
而抽象工厂模式里,一个工厂类可以生产一组产品,这些产品除了类别的不同外,每类产品还有其它不同(比如质量、规格等),
哎,怎么感觉越说越抽象了呢。。。
4个月前   回答者:麒麟.NET - 菜鸟二级
我觉得你不用太去想工厂方法和抽象工厂的区别,只有工厂的思想好了,就是提供一个选择不同对象的管理器,然后当每个对象都是一个系列时,这样不就成了抽象工厂了吗
4个月前   回答者:小飞侠IT - 菜鸟二级
   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除