浏览 4847 次
锁定老帖子 主题:聚合?关联?
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-10-03
小弟新学UML,被其中的关联关系,聚合,组合关系搞得头大。 如下: 在一个简易的用户定单的设计中。有类:User,Order,Goods,Address,在开始的设计中,考虑关系如图: 后来感觉不妥,Address与Order之间,应该不存在关联关系。而Address应该为类User的值类型。所以修改为: 而修改后,另一个问题又出现。那就是,在Order与Goods之间,是用聚合关系呢,还是用单身关联。如下: 想请问各位大侠,在后面两个图中。用哪一种关系(聚合?关联?)好一点。还请给一点指示
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-10-03
聚合更好
|
|
返回顶楼 | |
发表时间:2008-10-04
这位大哥说用聚合哦!
聚合是“has a”,可是在这个地方,我弄不清,Order has Goods 对不对, 物品是定单的一部分,这应该是正确的,但定单与物品也应该是相互独立的。 所以他们的关系我有点分不清了! |
|
返回顶楼 | |
发表时间:2008-10-06
我的观点:
1、Order不直接与Goods发生关系,应该是Order聚合OrderItem,然后OrderItem再关联到Goods。 2、Order应该关联一个Address,或者Address是Order的一个属性,因为订单一般要发送到某个地方,而这个地方不一定是用户的地址,可能是发给朋友的,也可能是发送到一个临时地址。 |
|
返回顶楼 | |
发表时间:2008-10-06
谢谢silentlakeside兄,明白了!
|
|
返回顶楼 | |
发表时间:2008-10-08
聚合是主体和部分的关系,组合不光是主体和部分的关系,并且主体掌握着部分的生命周期,是比聚合更强的关联关系,我是这么理解的
|
|
返回顶楼 | |