一文读懂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中的类图关系的主要内容,如果未能解决你的问题,请参考以下文章