Topic: 有关工厂方法的问题

  Print this page

1.有关工厂方法的问题 Copy to clipboard
Posted by: needd
Posted on: 2006-07-24 17:20

请问以下几种方式代码实现是否有区别:
(有图片)

2.Re:有关工厂方法的问题 [Re: needd] Copy to clipboard
Posted by: jameszhang
Posted on: 2006-07-26 20:16

当然 有区别,一个调用接口,一个调用的是 实现类

3.Re:有关工厂方法的问题 [Re: jameszhang] Copy to clipboard
Posted by: Jcat
Posted on: 2006-07-26 20:49

Spring teachs us what's interface-oriented programming!

4.Re:有关工厂方法的问题 [Re: needd] Copy to clipboard
Posted by: cxp108
Posted on: 2006-07-27 08:58

路过,借搂主宝地问个问题。

大家经常把Factory模式和Singleton模式用在同一个类么?

5.Re:有关工厂方法的问题 [Re: needd] Copy to clipboard
Posted by: needd
Posted on: 2006-07-27 16:59

各位,我还是不太明白,调用接口和调用实现类指的是什么,即代码实现事什么
第一个图的代码实现是

6.Re:有关工厂方法的问题 [Re: needd] Copy to clipboard
Posted by: needd
Posted on: 2006-07-27 17:00

请问第二个图的代码实现是什么,

7.Re:有关工厂方法的问题 [Re: cxp108] Copy to clipboard
Posted by: needd
Posted on: 2006-07-27 17:01

顺便问一下那个create表示什么?在为何没在代码中表现出来?

8.Re:有关工厂方法的问题 [Re: cxp108] Copy to clipboard
Posted by: jameszhang
Posted on: 2006-07-30 14:50

cxp108 wrote:
路过,借搂主宝地问个问题。

大家经常把Factory模式和Singleton模式用在同一个类么?

应该根据需要!

9.Re:有关工厂方法的问题 [Re: needd] Copy to clipboard
Posted by: jameszhang
Posted on: 2006-07-30 14:51

needd wrote:
请问第二个图的代码实现是什么,

仔细 研读 java与 模式

10.Re:有关工厂方法的问题 [Re: needd] Copy to clipboard
Posted by: needd
Posted on: 2006-07-30 15:55

jameszhang能诉我一下你的联系方式吗,比如说邮件,msn之类的,在论坛上和你联系太慢的,我的qq 是58222042,先还是感谢一下你能有一次的关注这张帖子。

我仔细看了一下设计模式,我觉得你的解释对于这张UML不太对:
(因为这张图本身就有问题Smile
当然 有区别,一个调用接口,一个调用的是 实现类

我想第一个图和第二个图应该代码是一样的,一样是在于两个类图
ArtTracer一样!

如果代码不一样,那末就错在第二附图本身,既简单工厂模式在有多个
产品对象的情况下,UML图应该画成下面这种形式,我想我以前的理解错
误并不在模式的理解错误,而在于UML图的理解错误,你说对吗?

11.Re:有关工厂方法的问题 [Re: needd] Copy to clipboard
Posted by: jameszhang
Posted on: 2006-08-01 20:44

图 没有 对错 只是 它反映你的表达意图,如果 你认为 两张图一样那肯定不对,你最后贴出 的 图 中 加 了个 实线 箭头 那将 改变 你的 图示意义。与 原来 采用 虚线箭头 代码表示不同,UML 图例 很严格,因为 他可是 两个程序员交流 语言,是 要 在计算机 上实现的!!如果要搞清关系 ,论坛中 有相关的文章,自己艘以下

12.Re:有关工厂方法的问题 [Re: needd] Copy to clipboard
Posted by: Jacob53
Posted on: 2008-02-12 16:47

第一张图表示工厂方法可以返回一个带有Shape接口的类的实例,不一定是那三种,也可能是别的,比如一个新的类Pentacle,如果带有Shape接口的话,此工厂方法也可以返回此Pentacle类的实例。

第二张图表示此工厂方法只可以返回那三个类(Circle、Square、Triangle)的实例,其他的类就算满足了Shape接口也不能用此工厂方法制作实例。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2018 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号
客服电话 0592-8750026    客服信箱 714923@qq.com    客服QQ 714923