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 天前
【附C源码】二叉搜索树的C语言实现
c语言·开发语言·数据结构·算法·二叉树·项目实战·数据结构与算法
C+++Python1 天前
C++ 泛型编程 极简示例代码
开发语言·c++
Rust研习社1 天前
Ubuntu 全面拥抱 Rust 后,我意识到 Rust 社区要变了
linux·服务器·开发语言·后端·ubuntu·rust
宵时待雨1 天前
回溯算法专题2:二叉树中的深搜
开发语言·数据结构·c++·笔记·算法·深度优先
jiayong231 天前
第 43 课:任务详情抽屉里的批量处理闭环与删除联动
java·开发语言·前端
likerhood1 天前
Java 访问修饰符:public、protected、private讲解
java·开发语言·javascript
学不思则罔1 天前
ParallelStream并发陷阱解析
java·开发语言·windows
认真的小羽❅1 天前
【Java并发编程】volatile关键字深度解析:从内存语义到实际应用
java·开发语言
jayson.h1 天前
可视化界面
开发语言·python
kgduu1 天前
python中的魔法方法
开发语言·python