整理:vcc

1: 1106502 : ----------------------------------
*原文*(*gzalpha*于2001/07/17 16:56粘贴) *请教几个《设计模式》中的疑问 *
---------------------------------------------------------------------------
小弟在看《设计模式》的时候,遇到一些基础的问题,在这里请教一下各位。
1.p16的“聚合”表示图中,如果箭头前加圆点,表示的是什么意思?
2.我对“聚合”的概念还不是十分理解,能否用代码解释一下?
3.该书中似乎描述类之间关系的图是用omt来画的,我没有接触过omt和uml,对很多图中符号无法全面深刻的理解,
不知道有无介绍的相关文章?这些图用visio来画是否最为方便呢?
4.p62中提到“从wall*到Bombedwall*”的向下类型转换,不太明白此处的实际使用原理。
谢谢各位。
---------------------------------------------------------------------------


2: 1106643 : ----------------------------------
*原文*(*bobgeng*于2001/07/19 08:37粘贴) *回复: 请教几个《设计模式》中的疑问 *
---------------------------------------------------------------------------
E版的Design Pattern有"Guide to notation"一节简单介绍符号的意义。
不知道中文版的有没有,没看过!
---------------------------------------------------------------------------


3: 1106753 : ----------------------------------
*原文*(*lixinhui*于2001/07/19 22:45粘贴) *AutoReply:回复:
请教几个《设计模式》中的疑问 *
---------------------------------------------------------------------------
你好!
我已收到您的来信,谢谢!
祝你愉快!
Mr Li
---------------------------------------------------------------------------


2: 1106511 : ----------------------------------
*原文*(*d_jt*于2001/07/17 17:46粘贴) *回复: 请教几个《设计模式》中的疑问 *
---------------------------------------------------------------------------
1、不是箭头加圆点,是菱形,就表示聚合
2、聚合,很简单,比如汽车有轮子,则汽车聚合轮子
class car
{
wheel* w1;
....
}
3、uml的书很多,好像有本从入门到精通
4、那是多态了,看看基本C++的书吧,多态和聚合可是设计模式的baseline
---------------------------------------------------------------------------


3: 1106540 : ----------------------------------
*原文*(*sealw*于2001/07/18 09:20粘贴) *按UML术语,汽车和轮子是组成,不是聚合 *
---------------------------------------------------------------------------

---------------------------------------------------------------------------


4: 1106756 : ----------------------------------
*原文*(*cnljh*于2001/07/19 22:50粘贴) *组成是强聚合,所以也是聚合 *
---------------------------------------------------------------------------

---------------------------------------------------------------------------


4: 1106662 : ----------------------------------
*原文*(*xiaohaha*于2001/07/19 11:08粘贴) *回复: 按UML术语,汽车和轮子是组成,不是聚合
*
---------------------------------------------------------------------------
不对吧,二者典型的部分与整体的关系,此乃聚合的主要判断依据
---------------------------------------------------------------------------


4: 1106618 : ----------------------------------
*原文*(*d_jt*于2001/07/18 17:33粘贴) *回复: 按UML术语,汽车和轮子是组成,不是聚合 *
---------------------------------------------------------------------------
汽车聚合轮子,轮子是汽车的组成,没有问题,从不同方向看
---------------------------------------------------------------------------


5: 1106658 : ----------------------------------
*原文*(*qingr*于2001/07/19 10:45粘贴) *回复: 按UML术语,汽车和轮子是组成,不是聚合 *
---------------------------------------------------------------------------
聚合是一种关联形式,它指明一个聚集(整体)和组成部分的关系。组合是一种更强的聚合形式。在普通的聚合中
,一个部分可以属于多个聚集,而且可以独立存在。而组成是有着附加约束的聚集。一个对象只能是一个组成的一部分且组成对象有安置他的部分的责任,即对它们
的创建和销毁负责。
---------------------------------------------------------------------------


5: 1106636 : ----------------------------------
*原文*(*sealw*于2001/07/18 22:20粘贴) *呵呵,好象不是的吧 *
---------------------------------------------------------------------------
我也不是特别清楚UML是怎么用词的,特别查了一下specification
aggregation,
A special form of association that specifies a whole-part
relationship between the aggregate (whole) and a
component part. See: composition.
composition,
A form of aggregation association with strong
ownership and coincident lifetime as part of the
whole. Parts with non-fixed multiplicity may be
created after the composite itself, but once created
they live and die with it (i.e., they share lifetimes).
Such parts can also be explicitly removed before the
death of the composite. Composition may be
recursive. Synonym: composite aggregation.
这么看来汽车和轮子是聚合总没错的
---------------------------------------------------------------------------


6: 1106746 : ----------------------------------
*原文*(*lixinhui*于2001/07/19 22:01粘贴) *AutoReply:呵呵,好象不是的吧 *
---------------------------------------------------------------------------
你好!
我已收到您的来信,谢谢!
祝你愉快!
Mr Li
---------------------------------------------------------------------------


6: 1106641 : ----------------------------------
*原文*(*d_jt*于2001/07/19 07:55粘贴) *回复: 呵呵,好象不是的吧 *
---------------------------------------------------------------------------
composition 一般翻译成组合,不翻译成组成
---------------------------------------------------------------------------


3: 1106526 : ----------------------------------
*原文*(*qsir*于2001/07/17 21:14粘贴) *回复: 请教几个《设计模式》中的疑问 *
---------------------------------------------------------------------------
书吗,我倒觉得《UML with Rose从入门到精通》不错
---------------------------------------------------------------------------


4: 1106610 : ----------------------------------
*原文*(*gzalpha*于2001/07/18 16:29粘贴) *回复: 请教几个《设计模式》中的疑问 *
---------------------------------------------------------------------------
那本邮电的《uml基础教程》值得买吗?
新出的《uml用户指南》适合初学者看吗?
请赐教,谢谢.
---------------------------------------------------------------------------


5: 1107049 : ----------------------------------
*原文*(*heokheok*于2001/07/22 14:33粘贴) *Re: 请教几个《设计模式》中的疑问 *
---------------------------------------------------------------------------
大概看了一下,还可以
----- Original Message -----
From: "Smiling电子小组“UMLCHINA”"
To: "Smiling电子小组“UMLCHINA”的成员"
Sent: Thursday, July 19, 2001 9:30 PM
Subject: 回复: 请教几个《设计模式》中的疑问
> ★★★★★★★★★★★★★★★★★★★★★★★★★★★★
> 买房人的乐园:焦点房地产(http://house.focus.com.cn/bbs)
> 买房看房找参谋,业主论坛会邻居,你问我答人气旺!
> ★★★★★★★★★★★★★★★★★★★★★★★★★★★★
>
> 此消息由UMLCHINAgzalpha(gzalpha@china.com)粘贴
>
> 标题:回复: 请教几个《设计模式》中的疑问
> 回复标题:回复: 请教几个《设计模式》中的疑问(1106526)
>
>
> 内容:那本邮电的《uml基础教程》值得买吗?
> 新出的《uml用户指南》适合初学者看吗?
> 请赐教,谢谢.
>
>
> ★★★★★★★★★★★★★★★★★★★★★★★★★★★★
> 焦点网 Smiling 电子小组 http://www.smiling.com.cn
> 功能齐全的免费交流社区,可以发消息、建相册、上传
> 文件、投票、和小组成员在线聊天、制作小组主页,还可以
> 群发邮件……
> ----------------------------------------------------
> 直接回复此邮件(不能修改邮件标题),回复邮件将自动粘贴在本小组消息版。
> 如需取消本小组消息订阅,请到UMLCHINA小组的“小组设置”中完成。
> ★★★★★★★★★★★★★★★★★★★★★★★★★★★★
> 买房人的乐园:焦点房地产(http://house.focus.com.cn/bbs)
> 买房看房找参谋,业主论坛会邻居,你问我答人气旺!
> ★★★★★★★★★★★★★★★★★★★★★★★★★★★★
>
---------------------------------------------------------------------------


3: 1106521 : ----------------------------------
*原文*(*gzalpha*于2001/07/17 19:30粘贴) *回复: 请教几个《设计模式》中的疑问 *
---------------------------------------------------------------------------
进一步的问问,“委托”与“聚合”的区别?
是否“委托”描述的是类实例之间的引用关系?
而“聚合”描述的是类之间的责任关系?
---------------------------------------------------------------------------


4: 1106524 : ----------------------------------
*原文*(*d_jt*于2001/07/17 20:55粘贴) *回复: 委托和聚合 *
---------------------------------------------------------------------------
考虑问题的角度不同,委托主要从代码复用的角度考虑。聚合主要从类之间的关系的角度考虑,一个对象拥有另一个对象
---------------------------------------------------------------------------