https://www.jianshu.com/p/a237f96e2292
最近在学习领域驱动设计,重新温习了一下UML图。
定义:
UML是一种面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言,UML使用面向对象的建模工具,但独立于任何程序设计语言
UML绘图规范:
image.png
事物(主要介绍类class,接口interface,用例usecase,包package)
事物之间的关系:
-
关联关系
箭头指向被拥有者(单向关联)
箭头指向被拥有者
不用箭头的实线(双向关联,例如两个类相互访问)
不用箭头的实线 -
聚合关系
是整体与部分的关系(如学生和学生会)
用空心菱形的实线表示,菱形指向整体,箭头指向个体
聚合关系
-
组合关系
也是整体与部分的关系(整体和个体需要有相同的生命周期,比如人的身体和手的关系),组合比聚合更加严格
用实心菱形的实线表示,菱形指向整体,箭头指向个体
组合关系
-泛化关系
表示一个更泛化的元素和一个具体元素之间的关系,与继承是同一个概念
用空心箭头的实线表示
泛化关系
-
实现关系
类和接口之间的关系,类实现接口
用空心箭头的虚线表示,箭头指向接口
实现关系
-依赖关系
如果一个类的改动会影响到另一个类,则这两个类存在依赖关系,一般依赖关系是单向的
用虚线的单向普通箭头表示,箭头指向被依赖者
依赖关系
关系指向整理 类图
类关系记忆技巧
箭头方向:从子类指向父类。
记忆技巧:
- 1、定义子类是需要通过 extends 关键字指定父类;
- 2、子类一定是知道父类定义的,但父类并不知道子类的定义;
- 3、只有知道对方信息时才能指向对方;
- 4、所以箭头的方向是从子类指向父类。
继承实现:用线条连接两个类。
记忆技巧:
- 1、空心三角箭头表示继承或实现。
- 2、实线表示继承,是 is-a 的关系,表示扩展,不虚,很结实;
- 3、虚线表示实现,虚线代表“虚”无实体。
关联依赖:用线条连接两个类。
记忆技巧:
- 1、虚线表示依赖关系:临时用一下,若即若离,虚无缥缈,若有若无; 表示一种使用关系,一个类需要借助另一类来实现功能;
一般是一个类将另一个类作为参数使用,或作为返回值。 - 2、实线表示关联关系:关系稳定,实打实的关系,铁哥们;
表示一个类对象和另一个类对象有关联;
通常是一个类中有另一个类对象作为属性。
组合聚合:用菱形表示。
记忆技巧:
- 1、菱形就是像是一个盛东西的器皿(比如盘子);
- 2、聚合:空心菱形,代表空器皿里可以放很多相同的东西,
聚集在一起(箭头方向所指的类); 整体和局部的关系,两者有独立的生命周期,是 has-a 的关系; 弱关系,消极的词:弱-空。 -
3、组合:实心菱形,代表器皿里已经有实体结构的存在,生死与共; 整体与局部的关系,和聚合关系对比,关系更加强烈; 两者具有相同的生命周期,contains-a 的关系; 强关系,积极的词:强-满。
注意:UML 类关系图中,没有实心箭头。
例子:
作者:奋斗的韭菜汪
链接:https://www.jianshu.com/p/a237f96e2292
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 标签:关系,指向,实线,箭头,菱形,之类,UML From: https://www.cnblogs.com/itlover2013/p/17363640.html