在SDWebImage的首页看到了作者做的一份漂亮的UML类图,很清晰的就能看懂整个项目的结构. 大学UML作为选修课程学习过,当时为了应付考试都是考前突击,学的东西早已还给老师. 当时认为60分万岁的选修课,在工作后却常会用到的技能. 每一门课程都应该认真对待,没有无用的知识.
这里对UML中的类图做一个记录.
类
接口
关系
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)
泛化
泛化关系
是表示一种继承关系,用带三角箭头的实线表示.
实现
实现关系
是类与接口的关系,用带三角箭头的虚线表示.
关联
关联关系
是便是一种拥有的关系,是一个类可以知道另外一个类的属性或方法.
关联关系的表示是带有普通箭头的实线.
关联又有单向关联和双向关联,双线关联的线有两个箭头,或者不带箭头.
聚合
聚合关系
是关联的一种,是整体与部分的关系.部分离开整体可以单独存在.
是带有空心菱形的箭头线, 菱形的一是是整体,箭头的一端是部分.
组合
组合关系
也是整体与部分的关系,但是部分无法离开整体单独存在.
是带有实心菱形的箭头线, 菱形的一是是整体,箭头的一端是部分.
依赖
依赖关系
是一种表示使用的关系.即一个类的实现需要另外一个类的协助. 比如说 使用config初始化对象. 局部变量,方法的参数等.
用带有虚线的箭头表示,箭头端是被使用者.
一个完整的类图
最后
一个线上的UML绘图网站https://www.processon.com