返回信息流搜了网上的一些资料,还不是特别理解,希望各位大牛能给予解答,谢谢
这是一条镜像帖。来源:北邮人论坛 / java / #26226同步于 2013/7/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
求教各位大神一个问题:什么情况下适合用工厂模式呢,用工厂模
Ada2011
2013/7/3镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
想不明白证明你还不需要。。。
我说一下吧:比如你因为某种原因不想让调用接口的人知道某个对象的实现,或者你需要控制某个对象的生命周期(比如单例)等等,你可以用工厂模式实现。
【 在 Ada2011 的大作中提到: 】
: 搜了网上的一些资料,还不是特别理解,希望各位大牛能给予解答,谢谢
多谢大神
【 在 hotcode 的大作中提到: 】
: 想不明白证明你还不需要。。。
: 我说一下吧:比如你因为某种原因不想让调用接口的人知道某个对象的实现,或者你需要控制某个对象的生命周期(比如单例)等等,你可以用工厂模式实现。
:
对象的实例化过程交给工厂实现,我举个简单的例子,在原始社会,古人想要一个把斧头,他首先要new 一个木头,在new 一个石头,new 一个绳子,然后用绳子把石头绑在木头上,这也就是我们不用工程模式的的情况下创建一个对象的过程,到了现代社会,我们想要一把斧头还用这么做吗,当然不用,去商店买就可以了,商店从工厂购货,而我们完全不用知道斧头的制作过程,在真正编码的过程也是如此,我们根本不关心斧子这个对象是怎么实例化出来的,不关心它内部依赖几个对象,我们只依赖斧子这个对象,而不依赖木头,石头这些对象,如果哪天斧头的制作材料变了,变成铁了,我们的代码完全不用改,只要改工厂实现部分就可以了,这样就实现了解耦
大神讲得好详细啊,十分感谢~~
【 在 a789asd456fg 的大作中提到: 】
: 对象的实例化过程交给工厂实现,我举个简单的例子,在原始社会,古人想要一个把斧头,他首先要new 一个木头,在new 一个石头,new 一个绳子,然后用绳子把石头绑在木头上,这也就是我们不用工程模式的的情况下创建一个对象的过程,到了现代社会,我们想要一把斧头还用这么做吗,当然不用,去商店买就可以了,商店从工厂购货,而我们完全不用知道斧头的制作过程,在真正编码的过程也是如此,我们根本不关心斧子这个对象是怎么实例化出来的,不关心它内部依赖几个对象,我们只依赖斧子这个对象,而不依赖木头,石头这些对象,如果哪天斧头的制作材料变了,变成铁了,我们的代码完全不用改,只要改工厂实现部分就可以了,这样就实现了解耦