UML之类图分析(依赖、关联、聚合、组合、泛化、实现)

在我学习设计模式的过程中,使用了UML进行建模。

最开始我对各种关系理解的不是太清楚,在网上也搜了一些信息,现在对类图的这几种关系:依赖、关联、聚合、组合、泛化、实现进行一个介绍。

首先大家要知道两点:

1、它们关系的强弱顺序:泛化= 实现> 组合> 聚合> 关联> 依赖

2、关联、聚合、组合只能配合语义,结合上下文才能够判断出来,而只给出一段代码让我们判断是关联,聚合,还是组合关系,则是无法判断的。

泛化(Generalization):

泛化是对象之间耦合度最大的关系之一。它表示的是继承关系。比如:son类继承Father类。

UML类图使用带三角的实线表示,由子类指向父类。

实现(Realization):

实现是另外一个对象之间耦合度最大的关系之一。它表示的是接口和实现类的关系。比如:ImplementsClass类实现Interface类。

UML类图使用带三角的虚线表示,由子类指向父类。

组合(Composition):

组合是次于前两者的关系,它表示的是整体和部分的关系。比如人和手的关系,当人不在了,手也就没了。

UML类图使用用实心菱形+实线+箭头图示表示,菱形的一边指的的拥有者ClassA,实线所在的一边为被拥有者ClassB。

聚合(Aggregation):

聚合是次于组合的关系,它表示的是是一个对象拥有另一个对象的关系。比如:车子和轮胎之间的关系。但是车子没了轮胎还是可以存在。

UML类图使用空心菱形+实线+箭头图示表示,菱形的一边指的的拥有者ClassA,实线所在的一边为被拥有者ClassB。

关联(Association):

关联是次于聚合的关系。关联关系一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的。比如:我有一个车子,我和车子的关系就是单向关联关系。箭头指向车子。

UML类图使用一条直线箭头连接,箭头所指的方向为被关联的对象。

依赖(Dependency):

依赖是一种比关联关系更弱的关系。依赖关系存在偶然性、临时性。比如:我会开车,别人给我一辆车,我就能开。这时候车子和我的关系就是依赖关系。

UML类图使用带箭头的虚线表示,箭头从使用类指向被依赖的类。

以上绘图工具使用的是PowerDesigner 16。

备注:
转载请注明出处:http://blog.csdn.net/wsyw126/article/details/51352249
作者:WSYW126

posted @ 2018-08-10 20:59  micwin  阅读(1403)  评论(0编辑  收藏  举报