在写文档的过程中,经常需要进行画图。虽然说现在有很多类似viso之类的可视化画图工具,但是还是要花费大量时间在拖拉组件上,效率十分低下。最近在网上找到了一款还算不错的绘图工具-- Plantuml, 它本质上是也算一门可以快速画图的设计语言,学习起来也很方便。可以在Open-source tool that uses simple textual descriptions to draw beautiful UML diagrams.网站上体验一下。
在vscode, webstorm都有相关的插件可以使用。

时序图

时序图相对来说是平常比较经常画的一种设计图稿,在这里记录一下plantuml中相关的语法。

基本用法

@startuml
A -> B: do something
B -> A: do something
@enduml

设置不同的角色

时序图角色可以分为: actor, boundary, control, entity, database,每种角色呈现的图形也是不一样的。

@startuml
actor Foo1
boundary Foo2
control Foo3
entity Foo4
database Foo5
collections Foo6
Foo1 -> Foo2 : To boundary
Foo1 -> Foo3 : To control
Foo1 -> Foo4 : To entity
Foo1 -> Foo5 : To database
Foo1 -> Foo6 : To collections@enduml

不用的箭头样式

@startuml
Bob ->x Alice
Bob -> Alice
Bob ->> Alice
Bob -\ Alice
Bob \\- Alice
Bob //-- AliceBob ->o Alice
Bob o\\-- AliceBob <-> Alice
Bob <->o Alice
Bob -[#red]> Alice : hello
Alice -[#0000FF]->Bob : ok
@enduml

分页

@startumlAlice -> Bob : message 1
Alice -> Bob : message 2newpageAlice -> Bob : message 3
Alice -> Bob : message 4newpage A title for the\nlast pageAlice -> Bob : message 5
Alice -> Bob : message 6
@enduml

分段

@startuml== Initialization ==Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response== Repetition ==Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response@enduml

生命线

@startuml
participant UserUser -> A: DoWork
activate A #FFBBBBA -> A: Internal call
activate A #DarkSalmonA -> B: << createRequest >>
activate BB --> A: RequestCreated
deactivate B
deactivate A
A -> User: Done
deactivate A@enduml

图例注脚等

@startumlheader Page Header
footer Page %page% of %lastpage%title Example TitleAlice -> Bob : message 1
note left: this is a first noteAlice -> Bob : message 2@enduml

C4架构图

C4 model是一种软件架构图的设计方法,具体介绍可以参考C4 architecture model。利用C4-PlantUML工具,可以画出很多很不错的架构图。
C4模型分为Context, Container, Component和Code 4个组成部分,我们一般在画图的时候主要用到前三个组成部分。

@startuml C4_Elements
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Context.puml
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Container.puml
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Component.pumlSystem(systemAlias, "System", "这可以看作系统上下文(Context)")
Container(containerAlias, "Container", "这是Container")
Person(personAlias, "Person", "这可以看作是组件(Component)")Rel(personAlias, containerAlias, "Label", "设置关联关系")
@enduml

程序员绘图工具-Plantuml相关推荐

  1. cassandra可视化工具_程序员绘图工具——PlantUML

    在工作中经常会编写技术文档,用专业的图形(用例图.时序图.ER图等等)能够更加准确表达我们的想法,别一段乏味的文字更加有意义,也便于别人理解. 虽然现在有很多类似viso之类的可视化画图工具,但是还是 ...

  2. Linux常用命令大全-toolfk程序员在线工具网

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  3. JavaScript实现在线MD5、SHA、AES、Rabit 、RC4、TripleDES Ripemd160 加密解密工具-toolfk程序员在线工具网...

    2019独角兽企业重金招聘Python工程师标准>>> 本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装 ...

  4. JavaScript实现在线进制转换工具网站 -toolfk程序员在线工具网

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  5. 十大PHP程序员必备工具

    十大PHP程序员必备工具 1.Notepad++ 总结来说就是小而精,7.4版本的软件包只有2.9M,比一般的IDE小数十倍,但是Notepad++的功能确是很全面的,代码高亮,语法折叠,宏功能,内置 ...

  6. JavaScript实现在线MD5、SHA、AES、Rabit 、RC4、TripleDES Ripemd160 加密解密工具-toolfk程序员在线工具网

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  7. 程序员常用工具网站汇总(一)

    程序员常用工具网站汇总(一) 文章目录 程序员常用工具网站汇总(一) 一.未分类 二.算法 三.开发 四.linux 五.运维 六.常用软件 七.JVM调优 八.可视化 九.技术选型 一.未分类 国外 ...

  8. 百度地图拾取坐标工具-toolfk程序员在线工具

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  9. JavaScript实现在线生成高强度随机密码工具-toolfk程序员在线工具网

    2019独角兽企业重金招聘Python工程师标准>>> 本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装 ...

最新文章

  1. MS UC 2013-0-虚拟机-标准化-部署-2-模板机-制作-4
  2. saas模式与国家的产业政策
  3. Redis:redis入门
  4. IPV4 VS IPV6 谈谈省级ipv6的必要性
  5. Django-请求与响应
  6. 视频AI对话杭州云栖:新一代视频智能生产的探索与实践
  7. php 协议头,入门PHP实现MQTT协议的固定头部(Fix header)
  8. 架构设计——缓存层设计思维导图总结
  9. acm 程序设计大赛各种输入方式(python版)
  10. python sdk是什么意思_什么是 SDK?
  11. 蚂蚁金服与阿里云“双剑合璧”,加速释放金融科技时代新红利
  12. 【Qt学习笔记】包含头文件确报错 does not name a type
  13. Win10系统打不开图片
  14. 【精品】身份证操作工具类
  15. 转:通信十年:前辈对通信行业的分析与经历
  16. 收集整理威尔逊定理的证明
  17. C++ 关键字 typeid, typename
  18. 智慧医院三维可视化决策系统平台(数字孪生)-解决方案开发案例
  19. 爱奇艺国内首家PC端上线杜比视界服务 持续打造“影院级体验”
  20. es6中类的使用、及其转es5源码解析

热门文章

  1. python中文界面设定_python设置中文界面实例方法
  2. 求整数 1~100之间含有7或者7的倍数的数一共有多少?分别是什么?
  3. NetCore版本 考勤门禁解决方案,支持中控系列最新BioFace/XFace,海康DS-K1T671人脸识别+测温
  4. 058_《突破Delphi7.0编程实例五十讲》
  5. qlv格式无需工具快速转MP4
  6. 【20】ubuntu下没有dos2unix命令怎么办
  7. 关于KNN的通俗理解
  8. ChatGPT 推出 iOS 应用,支持语音输入,使用体验如何?
  9. iphlpapi.h下载
  10. 这几大挣钱方式,你能学会哪一种?