【UML】如何一眼看清项目的经络

103 阅读1分钟

为啥要学UML

兵法有云:"不谋万世者,不足谋一时;不谋全局者,不足谋一域。"

实现新项目或者熟悉老项目,一开始千万不能傻呆呆的一行一行看代码,要以战略的眼光分析项目,掌握重点类的逻辑关系,理清项目的业务流程。

如何才能快速分析项目,理解项目架构呢?

答案就是:UML图。

UML类图

UML类图使用连线指明类和类、类和接口、接口和接口之间存在的关系。

泛化(Generalization)

空心三角形 + 实线。用来描述继承关系,在 Java 中使用 extends 关键字。

泛化(继承).png

实现(Realization)

空心三角形 + 虚线。用来实现一个接口,在 Java 中使用 implements 关键字。

实现.png

聚合 (Aggregation)

空心菱形 + 实线。表示整体由部分组成,但是整体和部分不是强依赖的,整体不存在了部分还是会存在。

聚合.png

(不要问我为什么锅碗瓢盆 少了瓢)

组合 (Composition)

实心菱形 + 实线。组合中整体和部分是强依赖的,整体不存在了部分也不存在了。

组合.png

关联 (Association)

实线箭头。表示不同类对象之间有关联。

关联.png

依赖 (Dependency)

虚线箭头。和关联关系不同的是,依赖关系是在运行过程中起作用的。

  • A 类是 B 类中的(某中方法的)局部变量;
  • A 类是 B 类方法当中的一个参数;
  • A 类向 B 类发送消息,从而影响 B 类发生变化;

依赖.png

good Tips

UML在线绘图:www.planttext.com/