今天晚上,师傅带病给我指导我画的UML的9种图,心里很是感激,师傅真是太负责了。
和师傅这么一交流,我发现自己画的图,哎,简直自己都看不过去了。伤心归伤心,不过收获还是很大的,比如我发现include、extend之间的关系和组合、聚合之间的关系很相似。
include关系强调拥有,比如笔记本电脑,它可以include出显示器、主板、硬盘、内存。一般情况下,是笔记本电脑就必须存在这些设备。它的线形是发散的,由一个点向四面八方扩展。
extend关系强调延伸,比如笔记本电脑,它可以延伸出鼠标、散热器、打印机、投影仪。这些设备和笔记本电脑都可以独立存在,但它们可以帮助笔记本电脑实现更多的功能。它的线形是聚合的,由四面八方汇聚到一点。
看到这两,我突然想到组合、聚合的关系不也是这样吗?
大雁和翅膀之间是组合关系,因为大雁拥有翅膀,类似于include的拥有关系。大雁和雁群是聚合关系,因为它们可以独立存在,但大雁又是雁群的一部分。
编织知识网,米老师经常教我们的,今天终于用到了。
趁着今天的博客,顺便反思下自己以前的博客。经师傅今晚这么一点,我发现自己原来写的博客好比小学生写笔记,都是死知识,没有自己的思想,读者读起来感觉很晦涩。所以,以后写博客要多加上些自己的理解,让文章有血有肉。