首页
新闻
会员
周边
捐助
园子
·
关注
·
粉丝
·
会员
·
随便看看
·
消息
欢迎,请先
登录
或者
注册
。
登录
/
注册
闪存
博客
发言
小组
投递
新闻
提问
博问
添加
收藏
文库
问题反馈
问题列表
我关注的
我的博问
博问标签
工厂方法模式(Factory Method)http://www.cnblogs.com/Terry
0
[已关闭问题]
<P><FONT size=2>求解</FONT></P>
.NET技术
C#
问题补充:
工厂方法模式(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 对工厂模式有了一定的了解,但是我没有看出这两种模式有什么区别,感觉就是一样的,特向园子里的朋友请教一下。
rosanshao
|
初学一级
|
园豆:
120
提问于:2008-01-09 09:40
显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。
<
>
分享
分享您的问题
其他回答(5)
0
...最明显的一点区别: 假设A是你要使用对象的类,B是需要创建出实例的类. Factory Method是通过A的方法来创建B的实例. Abstract Factory是通过一个中间类C把B的实例创建并传给A.因为C只负责创建B的实例...哎呀,真不好写.建议看UML图比较它们的区别,最近正想写几篇Design Pattern的Blog
斧头帮少帮主
|
园豆:220
(菜鸟二级)
|
2008-01-09 11:10
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
工厂方法是将对象的构造过程隔离, 抽象工厂是对工厂方法的隔离。
Colin Han
|
园豆:3041
(老鸟四级)
|
2008-01-09 13:24
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
我觉得一个很重要的区别是,工厂方法返回的是一个产品,而抽象工厂返回的则是一族产品
Anders Cui
|
园豆:1570
(小虾三级)
|
2008-01-09 22:20
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
抽象工厂:提供一个创建一系列或相关依赖对象的接口,而无需指定它们具体的类。 工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂模式使一个类的实例化延迟到其子类。 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这本书很不错
AndyFish
|
园豆:1575
(小虾三级)
|
2008-01-10 09:05
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
最直观的区别: 在工厂方法模式里,一个工厂类只“生产”一种产品,不同的具体工厂生产的都是同一种产品的不同子类。 而抽象工厂模式里,一个工厂类可以生产一组产品,这些产品除了类别的不同外,每类产品还有其它不同(比如质量、规格等), 哎,怎么感觉越说越抽象了呢。。。
麒麟.NET
|
园豆:3614
(老鸟四级)
|
2008-01-11 15:42
对头!工厂方法和抽象工厂模式区别是明显!
支持(
0
)
反对(
0
)
超SEO
|
园豆:165
(初学一级)
|
2009-09-14 14:28
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
我觉得你不用太去想工厂方法和抽象工厂的区别,只有工厂的思想好了,就是提供一个选择不同对象的管理器,然后当每个对象都是一个系列时,这样不就成了抽象工厂了吗
小飞侠IT
|
园豆:250
(菜鸟二级)
|
2008-01-11 16:29
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
清除回答草稿
您需要
登录
以后才能回答,未注册用户请先
注册
。