强烈推荐,好用的时序图开源插件PlantUML!

简介: PlantUML这个开源时序图插件,它通过简单的语法和自动化的图形线条关联解决了传统画图软件中对齐困难、逻辑判断不易表示等问题,并提供了美观的图形和易于修改的特点,特别适合新入职场的开发者快速上手绘制高质量的时序图。

前言

每开发一个新需求,做系统设计时,系统时序图一般都少不了,你用的画图软件有没有给你带来一些问题呢?

1、比如不美观,图形线条不好对齐,比如下面这个:

image.png

这个图没有完全对齐,而且是我比较费劲去尽量对齐了,线条都需要自己一根根对齐,比较麻烦,画图的时间都用在对齐线条上去了。

image.png

2、逻辑判断选择不好表示,比如if/else,下面是redis两种复制模式,应该是根据配置决定的,但是没法有逻辑选择

image.png

3、没有循环处理

4、想给文字或者某个核心流程加上颜色

5、时序上的流程需要手动去编号,也很麻烦,比如下面的图

image.png

今天要介绍的这个插件软件,上面的问题都可以解决。如果你也遇到了上面的问题,强烈推荐你收藏用起来,看下面画的OpenFeign负载均衡的核心时序图。

image.png

PlantUML介绍与优势

PlantUML是一个开源项目,官网:https://plantuml.com/sequence-diagram

它既支持常用的uml图,也支持非uml图,比如思维导图,我最常用的就是时序图

我觉得它有如下优点:

1、语法简单,快速上手,可视化制作

image.png

2、图形线条关联是自动关联的,不需要手动关联

3、支持循环if/else等逻辑表示

4、制作的图形更美观和和谐

5、修改比较容易,有些制作完成导出成图片了不好改,PlatUML可以改

PlantUML案例

1、声明参与者

image.png

2、发送消息和返回消息

image.png

3、if/else表示

image.png

4、关键流程加颜色

image.png

5、自动编号

image.png

具体的画图代码:

autonumber
actor 普通用户 as person
participant 用户服务 as user
participant 订单服务 as order
participant 支付服务 as pay

person -> user:登录系统
person<--user: 登录结果

alt 登录失败
person<--user: 提示失败,不可下单
loop 用户重试
person -> user:登录系统
person<--user: 登录结果
end

else #Gold 登录成功
person->order:下单
person<--order:下单成功
person->pay:支付
person<--pay:支付成功
end

@enduml

PlantUML总结

使用 PlantUML 创建序列图非常简单。这种易用性主要归功于其语法的用户友好性,既直观又易记。

你如果是一个新入职场的朋友,掌握这个工具也能画出很美观的时序图,是不是会很开心呢?刚工作时候,我是比较困惑的?没有找到好的画图软件,直到知道了PlantUML,还是很好用的,不仅可以在intellij idea里面使用,confluence里面也有插件支持的,在公司办公工作中也用的到。

这个文章如果对你有帮助,收藏关注我们,一起学习技术干货,学习好用的工具。

image.png

相关文章
|
程序员 uml
【程序员小知识】使用PlantUML画UML(下) 时序图
【程序员小知识】使用PlantUML画UML(下) 时序图
1322 0
|
SQL XML 关系型数据库
Mybatis-Plus通过SQL注入器实现真正的批量插入
Mybatis-Plus通过SQL注入器实现真正的批量插入
8575 0
Mybatis-Plus通过SQL注入器实现真正的批量插入
|
Prometheus 监控 Cloud Native
SpringBoot系列之Prometheus自定义埋点上报
之前介绍了一篇SpringBoot集成Prometheus实现数据上报的博文,在前面一篇博文中,更多的是一个SpringBoot应用如何最小成本的接入Prometheus,并结合Grafana配置一个完整的应用监控大盘 有看过前文的小伙伴可能知晓,SpringBoot接入Prometheus之后,基本上不用做额外的开发,就已经实现了我们关心的JVM情况、GC情况、HTTP调用请求等信息,然而在实际的业务开发过程中,我们总会遇到一些需要手动上报的场景,那么我们可以怎么处理呢?
2443 0
SpringBoot系列之Prometheus自定义埋点上报
|
6月前
|
人工智能 自然语言处理 数据可视化
三步入门:利用 Dify 可视化工作流连接 LLM 与工具
还在为如何将大语言模型与天气查询、数据处理等外部工具集成而烦恼?Dify的可视化工作流让这一切变得直观高效。无需处理复杂代码,只需拖拽节点、配置提示词和API参数,即可快速搭建从“用户提问”到“工具调用”再到“格式化回复”的完整AI应用链路。本文将手把手教你创建智能天气助手,解锁低门槛的AI应用开发。
|
人工智能 IDE 开发工具
寻找Cursor的替代品:10款AI编程工具深度评测与推荐·优雅草卓伊凡
寻找Cursor的替代品:10款AI编程工具深度评测与推荐·优雅草卓伊凡
10719 18
寻找Cursor的替代品:10款AI编程工具深度评测与推荐·优雅草卓伊凡
|
人工智能 关系型数据库 API
Higress MCP 服务管理,助力构建私有 MCP 市场
Higress MCP 服务管理模块通过 OpenAPI、数据库及直接路由等方式快速构建 AI Agent 可调用的 MCP 服务,支持认证授权、流量控制等能力,助力企业高效打造私有化 MCP 市场。
|
安全 编译器 开发者
Python打包成.exe文件直接运行
Python打包成.exe文件直接运行
3163 1
|
Docker 容器
docker中端口映射
【10月更文挑战第7天】
2141 65
|
设计模式 IDE 数据可视化
UML中类图的介绍与使用
类图是 UML 中用于展示系统静态结构的重要工具,包括类、接口及其关系。类图有助于系统可视化、团队沟通、发现设计问题、文档化系统和辅助开发工具。类图的三大元素是类、接口和关系,其中关系又细分为关联、聚合、组合、继承、实现和依赖。类图在设计模式学习和实际开发中非常重要,许多现代 IDE 都支持从类图生成代码或从代码生成类图。
|
NoSQL 算法 Java
使用 Spring Boot 实现限流功能:从理论到实践
【6月更文挑战第18天】在微服务和高并发系统中,限流(Rate Limiting)是一种非常重要的技术手段,用于保护系统免受过载,确保服务的稳定性。限流可以控制请求的速率,防止单个客户端或恶意用户消耗过多的资源,从而影响其他用户。
2195 5

热门文章

最新文章