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

类图

基础语法

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

类的定义

@startuml
class ClassName {
  -field1: Type1
  +method1(param: Type): ReturnType
}
@enduml

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

关系定义

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

示例

@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)

示例

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

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

序列图

基础语法

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

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

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

示例

@startuml
participant User
participant Server

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

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


声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。