开篇引题
UML 提供了一套规范的表示方法,可以很好的阐释面向对象系统的设计思想。 UML 并不复杂,但是不能低估这些特性所包含的丰富内涵。······ 通过学习标准的命名方法和表示方法,我们可以更好的在设计层面上进行交流,从而提高团队的生产效率。
——《Java 设计模式(第2版)》
工具
这里为大家推荐几款在线工具
免费的在线工具:iodraw
https://www.iodraw.com/
免费的在线工具:
excalidraw
https://excalidraw.com/
免费的在线工具:
ProcessOn
https://www.processon.com/
免费的开源在线工具
drawio
https://app.diagrams.net/
软件版 Windows版本 Mac版本
IDEA 插件 SequenceDiagram,直接查看当前代码逻辑的 时序 图
安装好插件后,在方法上右键然后点击 Sequence Diagram 即可看到,完美
@startuml
'https://plantuml.com/sequence-diagram
autonumber
box box可以增加背景选框
participant C as C
end box
participant D
activate C
C->D:C.方法a
note right
C 通过自己的 方法a 引用了D
end note
activate D
D->D:D.m1-注意第一个泳道无法实现此回环效果
'm1 内部调用 则 单独 activate + deactivate'
activate D
group 描述\n换行[aaa]
D->D:D.m2
note right:这种也是注释
end
D<--D
deactivate D
C<--D
deactivate D
deactivate C
@enduml
plantUML 例子
@startuml
Class01 <|-- Class02
Class03 *-- Class04
Class03 *.. Class04
Class05 o-- Class06
Class07 .. Class08
Class09 -- Class10
@enduml
Json/在线比对
UML 图
类
类关系
接口
[运用 UML 描述接口]
(https://blog.csdn.net/bestcxx/article/details/84729330)
对象
运用 UML 描述对象
状态-状态图
运用 UML 描述状态
时序-时序图
[运用 UML 描述时序图]
(https://blog.csdn.net/bestcxx/article/details/84895192)