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 来表示对象的生命期,也可以使用嵌套的生命线和复杂的消息模式 。


相关推荐
踏雪羽翼7 小时前
android 解决混淆导致AGPBI: {“kind“:“error“,“text“:“Type a.a is defined multiple times
android·java·开发语言·混淆·混淆打包出现a.a
一切尽在,你来7 小时前
C++ 零基础教程 - 第 5 讲 变量和数据类型
开发语言·c++
萧曵 丶7 小时前
懒加载单例模式中DCL方式和原理解析
java·开发语言·单例模式·dcl
℡枫叶℡7 小时前
C# - 指定友元程序集
开发语言·c#·友元程序集
阿猿收手吧!8 小时前
【C++】constexpr动态内存与双模式革命
开发语言·c++
小小码农Come on8 小时前
QT开发环境安装
开发语言·qt
云深处@8 小时前
【C++】哈希表
开发语言·c++
weixin_452159558 小时前
模板编译期条件分支
开发语言·c++·算法
guygg888 小时前
傅立叶光学的Matlab实现方法
开发语言·matlab
码农六六8 小时前
js函数柯里化
开发语言·前端·javascript