类图 UML图小结 架构师必须学会的UML图小结_
架构师必须学会的UML图小结_Android 技术内参的技术博客_51CTO博客 https://blog.51cto.com/jun5753/5291071
架构师必须学会的UML图小结
推荐 原创
Table of Contents
- 一、 UML 是什么
- 二、 UML 画图的工具推荐
- 三、UML 类图中的关系
- 1. 泛化(继承)
- 2. 实现(Realization)
- 3. 关联(Association)
- 4. 聚合(Aggregation)
- 5. 组合(Composition)
- 6. 依赖(Dependency)
- 四、小结
一、 UML 是什么
定义
UML 是统一建模语言, 是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。
统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。
UML 本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他 们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等。
作用
- 帮组开发团队以一种可视化的方式理解系统的功能需求。
- 有利于开发团队队员之间在各个开发环节间确立沟通的标准,便于系统文档的制定和项目的管理。因为 UML 的简单、直观和标准性,在一个团队中用 UML 来交流比用文字说明的文档要好的多。
- UML 为非专业编程人士理解软件的功能和构造,提供了一种直白、简单、通俗的方法。
- 使用 UML 可以方便的理解各种框架的设计方式。
二、 UML 画图的工具推荐
- MarkDown
- PlantUML
- Draw.io (Mac)
- PowerDesigner (Windows)
工作中第一个常用用来写文档,二三个用来画UML图比较多(推荐结合使用)。
只要掌握常用的几种图 (用例图、类图、时序图、活动图) ,就已经迈向架构第一步了,工作学习中交流起来就容易多了。
三、UML 类图中的关系
在 UML 类图中,常见的有以下几种关系:
- 泛化(Generalization)(继承)
- 实现(Realization)
- 关联(Association)
- 聚合(Aggregation)
- 组合(Composition)
- 依赖(Dependency)
他们的强弱级别为:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
UML 类与类之间的关系表示总览:
以下 UML 图用的是 Draw.io 来画的,开源地址: https://github.com/jgraph/drawio
1. 泛化(继承)
2. 实现(Realization)
3. 关联(Association)
4. 聚合(Aggregation)
5. 组合(Composition)
6. 依赖(Dependency)
如果要画项目的设计图,有很多类的关系图,这个软件可以使用。如果需要快速在设计某个功能时也可以使用 PlantUML 来实现,怎么快怎么来。
可以在网页上画,在 IDE中也有插件 :
比如我在总结设计模式系列时,就用这个来画。
用代码来直接渲染生成UML 设计图片
代码如下:
生成的效果图:
四、小结
UML 是每一个软件开发者都必须要熟练掌握的,如何你还不会,赶紧学习(卷)起来吧。
参考资料:
https://baike.baidu.com/item/类图/4670826?fr=aladdin
使用类图
Database Modeling in UML (Unified Modeling Language) http://www.methodsandtools.com/archive/archive.php?id=9p2