工厂模式的好处在哪里 ?

haowang21 2008-04-29 10:22:37
今天老师给我们讲了 工厂模式 但是我用了工厂模式之后感觉没什么特别的好处 感觉不用工厂模式还会简单很多

谁能给我说下 工厂模式的具体的优势或者好处在哪里?
...全文
17175 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhlinsky 2010-07-28
  • 打赏
  • 举报
回复
减小了代码的耦合度,省去了new 关键字,为每个对象都产生一个共有的实例
calm_diligence 2010-04-15
  • 打赏
  • 举报
回复
就是体现了封装性和面对接口的思想吧
fancybit 2009-06-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 nanjg 的回复:]
一个老帖了

引用里面好的回复

C# code你要确定一点
工厂模式针对的是多态
也就是说,你的类型如果可能有很多派生,使用工厂模式比较方便
如果你的需求是经常会添加的
比如会添加某个方法,那么使用工厂模式反而很麻烦
因为你要修改一连串的项目文件



详细的见这里:点击即可
[/Quote]
不太明白,是说在子类中添加一个方法吗?如果在子类中添加一个方法和这个子类的创建过程有什么联系吗?
zzzkkk666 2008-08-23
  • 打赏
  • 举报
回复
统一管理对象的创建过程
xxrrss 2008-04-30
  • 打赏
  • 举报
回复
7楼的很通俗,一直看设计模式方面的书,苦于不知道如何进展,或许这就是一个过程!
gabriel80 2008-04-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 SKY138421 的回复:]
工厂就是你要什么去到工厂里拿就好了,工厂负责生产,你除了使用什么都不用管,小程序你看不出优势来,打个比方说如果12亿人人,一人一个电视,那么如果每个人都去工厂里制造是多么麻烦的事,你只要告诉他你要什么类型的,工厂会生产出来给你,这个就是通俗意义上的工厂模式了。
至于说使用这个的好处,可以方便的更改应用程序,方便扩展。比如说你修改了一个类,或者在这个类的基础上生成了一个子类那么你现在要把以前使用父类…
[/Quote]
chenhongxin 2008-04-30
  • 打赏
  • 举报
回复
还管来多少新类都很容易在在工场里实现.因为工厂对象创建对象时,通常还需要结合接口,创建的对象返回的是接口的类型
具体调用者不负责创建对象,当要创建的对象发生改变时,只需要修改工厂,而不需要修改调用者
limon758 2008-04-30
  • 打赏
  • 举报
回复
其实理解了就很简单
现实的工厂的作用是什么
程序里的工厂的作用就是什么
dalmatians 2008-04-30
  • 打赏
  • 举报
回复
有工厂对象创建对象时,通常还需要结合接口,创建的对象返回的是接口的类型
具体调用者不负责创建对象,当要创建的对象发生改变时,只需要修改工厂,而不需要修改调用者
nanjg 2008-04-30
  • 打赏
  • 举报
回复
一个老帖了

引用里面好的回复
你要确定一点
工厂模式针对的是多态
也就是说,你的类型如果可能有很多派生,使用工厂模式比较方便
如果你的需求是经常会添加的
比如会添加某个方法,那么使用工厂模式反而很麻烦
因为你要修改一连串的项目文件


详细的见这里:点击即可
SKY138421 2008-04-29
  • 打赏
  • 举报
回复
工厂就是你要什么去到工厂里拿就好了,工厂负责生产,你除了使用什么都不用管,小程序你看不出优势来,打个比方说如果12亿人人,一人一个电视,那么如果每个人都去工厂里制造是多么麻烦的事,你只要告诉他你要什么类型的,工厂会生产出来给你,这个就是通俗意义上的工厂模式了。
至于说使用这个的好处,可以方便的更改应用程序,方便扩展。比如说你修改了一个类,或者在这个类的基础上生成了一个子类那么你现在要把以前使用父类的地方都给改为子类,如果小程序可能有几十个地方要改,如果大一点可能就几百几千个地方要改了。如果使用工厂模式,你只要改一个地方就可以了。
这样讲比较通俗吧!呵呵!
yeecheng 2008-04-29
  • 打赏
  • 举报
回复
设计模式书中说道,如果对象的初始化的过程很长很复杂,放在构造器中是很危险的,就像很多鸡蛋放到一个篮子里。所以要把对象的创建过程抽象独立出来
sunyujia 2008-04-29
  • 打赏
  • 举报
回复
靠说理解的不真实,百度一下,海量的文章,书上说的也很详细,建议楼主看下p6spy的源码
http://www.p6spy.com/
它的源码很好的诠释了工厂的应用,个人认为是学习工厂的很好的例子.

有关设计模式很多例子都是为了讲解而写的没有说服力
KKK2007 2008-04-29
  • 打赏
  • 举报
回复
统一管理对象的实例化
你的程序简单体现不出来,如果大规模的企业程序里要创建成千上万个对象,每个都去new,程序的业务逻辑
就很混乱,统一由工厂创建,就比清晰。
haowang21 2008-04-29
  • 打赏
  • 举报
回复
可以说的具体点么 ?
gongyali2005 2008-04-29
  • 打赏
  • 举报
回复
进一步的降低耦合

LZ可以年看看SPRING,他就是一个大工厂。
phyeas 2008-04-29
  • 打赏
  • 举报
回复
统一管理对象的创建过程。。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧