前言
在项目中我们经常需要画时序图,类图等UML图,可以通过 processon 或者 drawio 这种在线网站,但不够灵活,也没办法很好的保存。PlantUML 是一个可以让你快速编写UML图的组件,它通过文本来描述图形,因此可以很容易地将这些描述与源代码一起存储在版本控制系统中。然后 PlantUML 负责将这些描述转换为图形。
名称解释:UML 全称是 Unified Modeling Language(统一建模语言)。
具体示例
@startuml
title 微信扫码支付
footer Page %page% of %lastpage%
skinparam ParticipantPadding 30
skinparam sequenceArrowThickness 2
skinparam roundcorner 20
skinparam maxmessagesize 100
participant "POS机" as pos order 10
participant "支付中心" as pay order 20
participant "微信" as wechat order 30
autonumber
pos->pay:微信支付 https://xxx/pay
alt 订单商品中包含 xxx
pay->wechat:微信支付 https://api.mch.weixin.qq.com & attach:tag=xxx
else 不包含
pay->wechat:微信支付 https://api.mch.weixin.qq.com
end
wechat-->pay:返回结果
pay-->pos:返回结果
@enduml
效果如下
IDEA 中通过安装插件也可以支持 PlantUML 语法,文件后缀为 .puml。更多语法可以参考 PlantUML官网。
参考
PlantUML官网
PlantUML --- 使用代码快速绘制时序图、思维导图