UML类图,阅读源码的利器

Posted 行百里er

tags:

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

  1. 前言

我们在阅读一些框架源码的时候,常常会碰到很多类相互关联的情况,脑子一个不留神就懵逼了,这些类都是从哪里来的,他们到底有啥关系啊?!!!

这个时候我们可以尝试画一画类图,给我们一定的视觉冲击,更容易记住。毕竟好记性不如一个烂笔头。

  1. UML类图中的6种关系
  • Generalization 泛化 (继承)

泛化关系描述了一般事物与该事物中的特殊种类之间的关系。Java中的继承,父类就是子类的泛化。

画法

继承
  • Realization 实现

实现可以用来规定接口和实现该接口的类或组件之间的关系。接口可以看作是操作的集合,这些操作用于规定类或组件的服务。

画法

UML类图,阅读源码的利器
实现
  • Aggregation 聚合

聚合关系强调是“整体”包含“部分”,但是“部分”可以脱离“整体”而单独存在

画法UML类图,阅读源码的利器

  • Composite 组合

组合关系与聚合关系的最大不同在于:这里的“部分”脱离了“整体”便不复存在,所以“部分”不能脱离“整体”

画法UML类图,阅读源码的利器

  • Association 关联

对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。

关联关系又可分为:单向关联,双向关联,自关联

画法

  • Dependency 依赖

对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。

比如,动物依赖于氧气和水而存在;司机依赖于车而成为司机。

画法

- END -


以上是关于UML类图,阅读源码的利器的主要内容,如果未能解决你的问题,请参考以下文章

软件设计利器:UML类图常用符号及关系

UML你真的会用吗?

必不可少的UML类图技能

五分钟读懂UML类图

UML-架构设计师必备神器

20170908工作日记--UML画类图HTTP协议Volley源码走读