UML类图关系全面剖析

今天看了两篇设计模式相关的博客,但是关于UML图的关系甚是混乱,搜之,得此文:

原文:http://blog.csdn.net/dylgsy/article/details/1076044

文章结束关于网友的讨论也有借鉴之处:

1,对象(或类)间的关系就两种:引用和继承。 其他关系都是在这两种基础上演化而成。

2,实心菱形我们这里叫强聚合,比如说建一个房子类,里面一定包括门,窗等,而桌子板凳可有可无,门窗这些就用强聚合(实心菱形)表示,桌子板凳就是空心地。所以空心菱形应该用指针,值为实心。

3,其实这些关系不应该从代码去区分,上面很多提到了语义的概念,其实UML里的很多概念应该从语义去区分。聚合是一种“整体-部分”概念,而关联是一种关系的概念。

老公和老婆是一种关联,他们的关系是夫妻关系;

身体和手、汽车和轮胎呈现一种“整体-部分”的概念。

4,聚合/组合 的区分:

两者都表示 整体-部分 的关系。
但 聚合 的 整体-部分 是可分离的, 如 停车场-汽车

而 组合 的 整体-部分 是不可分离的,两者的生命周期相同,唇齿相依,唇亡齿寒

 

posted on 2013-10-08 16:55  theCambrian.cpp  阅读(197)  评论(0编辑  收藏  举报

导航