一文读懂UML中的类图关系

Posted J-A

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文读懂UML中的类图关系相关的知识,希望对你有一定的参考价值。

以可视化的方式将业务领域的概念抽象成一套模型并进行展现,学名领域建模,也就是UML中的类图关系。

我们常见的类图一般长这样:

从图中可以看到,里面有各种各样的箭头和线,虚虚实实,还有三角、菱形,其实这些都分别对应类图中的几种关系。

我们以上图为例,从上往下看。

1、依赖(Dependency)

  • 【图解】:动物活着依靠水和氧气

  • 【关系描述】:一个类的实现需要另一个类的协助

  • 【箭头及指向】:带箭头的虚线,指向协助类

2、泛化,俗称继承(Generalization)

  • 【图解】:鸟也是动物的一种

  • 【关系描述】:指定子类如何特化父类的所有特征和行为

  • 【箭头及指向】:带三角箭头的实线,指向父类

3、组合(Composition)

  • 【图解】:鸟有翅膀,翅膀离开鸟就成了烤翅,哈哈~

  • 【关系描述】:整体与部分的关系,且部分不能离开整体单独存在

  • 【箭头及指向】:带实心菱形的实线,菱形指向整体

4、实现(Implementation)

  • 【图解】:飞是鸟类特有的技能

  • 【关系描述】:一种类与接口的关系,表示类是接口所有特征和行为的实现

  • 【箭头及指向】:带三角箭头的虚线,指向接口

5、聚合(Aggregation)

  • 【图解】:大雁聚集在一起就成了雁群,布一个雁形阵

  • 【关系描述】:整体与部分的关系,且部分能离开整体单独存在

  • 【箭头及指向】:带空心菱形的实线,菱形指向整体

6、关联(Association)

  • 【图解】:企鹅生活在南极

  • 【关系描述】:是一种拥有的关系,它使一个类知道另一个类的属性和方法

  • 【箭头及指向】:带普通箭头的实心线,指向被拥有者

以上,就是UML类图中常见的几种关系:

此外,这几种关系还有个强弱之分,泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

不服气的小伙伴可能会说,我凭啥要按照这个来,我不服,你可以不服,但是这个是业内认可的方式,爱服不服。

最后,领域建模下几个好处:

1、统一语言:开发团队使用同一套概念模型,使团队沟通更加顺畅,分歧易于解决;

2、知识沉淀:通过对业务领域的熟悉过程,能够以模型的方式沉淀下来,使团队保持系统结构的清晰;

3、需求校验:在需求沟通时,能够快速明确哪些需求是合理的,哪些是违反业务规则的;

【注】文中若有任何疑问或不当之处,欢迎指出。

-EOF-

以上是关于一文读懂UML中的类图关系的主要内容,如果未能解决你的问题,请参考以下文章

UML类图

UML 类图口诀

身为程序员还看不懂UML类图? 一文带你零基础学会看UML类图!

(转)看懂UML类图和时序图

UML类图

UML类图详解