PlantUml常用语法

PlantUml常用语法,将从类图、流程图和序列图这三种最常用的图表类型开始。

类图

基础语法

在 PlantUML 中创建类图时,你可以定义类(Class)、接口(Interface)以及它们之间的关系,如继承(Inheritance)、实现(Realization)、关联(Association)、聚合(Aggregation)和组合(Composition)等。

类的定义

plantuml 复制代码
@startuml
class ClassName {
  -field1: Type1
  +method1(param: Type): ReturnType
}
@enduml

这里的 -+ 分别表示私有和公有的访问修饰符。字段和方法可以包含类型信息 。

关系定义

  • 继承:使用 <|-- 表示。
  • 实现:使用 <|.. 表示。
  • 关联:使用 -- 表示。
  • 聚合:使用 o-- 表示。
  • 组合:使用 *-- 表示。

示例

plantuml 复制代码
@startuml
class Animal {
  +void eat()
}

class Dog {
  +void bark()
}

Dog <|-- Animal
@enduml
高级用法

你可以为类添加注释、设置标题、或者将多个类图分割到不同的页面上。

流程图

基础语法

流程图用于描述过程或算法的步骤。PlantUML 支持多种控制结构,包括顺序执行、条件分支(if/else)、循环(while/do while)、并行执行(fork/merge)等。

基本元素

  • 开始和结束:startstop
  • 操作::操作名称;
  • 条件判断:if (条件) then (yes) ... else (no) ... endif
  • 循环:repeatrepeat while (条件) is (true)

示例

plantuml 复制代码
@startuml
start
:第一步;
if (条件A成立吗?) then (yes)
  :执行操作A;
else (no)
  :执行操作B;
endif
stop
@enduml
高级用法

你可以使用 forkend fork 来表示并行执行的任务,或者使用 while 循环来重复执行某个动作直到满足条件为止 。

序列图

基础语法

序列图主要用于展示对象之间按照时间顺序进行的消息传递。每个对象都有自己的生命线,消息通常沿着这些生命线向下流动。

参与者

使用 participant 定义一个参与者,它可以是人、系统或其他实体。

消息传递

使用 -> 表示同步消息,--> 表示异步消息。

示例

plantuml 复制代码
@startuml
participant User
participant Server

User -> Server: Login Request
Server --> User: Authentication Response
@enduml
高级用法

你可以使用 activatedeactivate 来表示对象的生命期,也可以使用嵌套的生命线和复杂的消息模式 。


相关推荐
祈澈菇凉1 天前
Next.js 零基础开发博客后台管理系统教程(一):环境搭建与项目初始化
开发语言·javascript·ecmascript
wjs20241 天前
Go 语言切片(Slice)
开发语言
muyouking111 天前
Rust Slice 完全指南:从基础用法到 3D 场景实战
开发语言·3d·rust
Acrelhuang1 天前
直击新能源电能质量痛点:安科瑞 APView500 在线监测装置应用方案
大数据·运维·开发语言·人工智能·物联网
无限进步_1 天前
C++从入门到类和对象完全指南
开发语言·c++·windows·git·后端·github·visual studio
lalala_lulu1 天前
Lambda表达式是什么
开发语言·python
她说..1 天前
Java AOP完全指南:从原理到实战(全套知识点+场景总结)
java·开发语言·spring·java-ee·springboot
Sammyyyyy1 天前
Rust性能调优:从劝退到真香
开发语言·后端·rust·servbay
Zfox_1 天前
【Go】异常处理、泛型和文件操作
开发语言·后端·golang
zhangyanfei011 天前
谈谈 Golang 中的线程协程是如何管理栈内存的
开发语言·后端·golang