plantuml 之序列图(三)

本文介绍了PlantUML中序列图的高级用法,包括如何使用分隔符组织序列图,引用其他序列图,创建延迟消息,调整消息箭头间距,以及生命线的激活、销毁和创建参与者。详细展示了各种语法的代码示例和效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分隔序列图

若序列图的各部分有明显的逻辑区分, 可以使用 ==== 或更多的个 =
对序列图进行分隔, 分隔中间可以加文本 ==TEXT==. 效果见图 1-13.


图 1-13
图 1-13

图 1-13 代码

@startuml

== Initialization ==
Alice -> Bob: Message 1
Bob --> Alice: Message 2
====

Alice -> Bob: Message 3
Alice <-- Bob: Message 4

@enduml

引用其它序列图

对一个系统进行分解会形成多个序列图. 在某个序列图中可以引用其它序列图,
使用的关键字如下

  • ref over, 后可跟多个参与者, 以逗号分隔
  • end ref, 若引用时使用了多行文本, 以此来结束引用

效果图如图 1-14 所示.


图 1-14
图 1-14

图 1-14 代码, 引用自官方文档

@startuml

participant Alice
actor Bob
ref over Alice , Bob : init
Alice -> Bob : hello
ref over Bob
This can be on
several lines
end ref

@enduml

延迟消息

使用 ... 来描述延迟消息, 在相应参与者生命线上会产生虚线. 还可以使用
...TEXT... 来为延迟指定文本. 效果图见图 1-15.


图 1-15
图 1-15

图 1-15 代码

@startuml

Alice -> Bob: Message 1

...

Bob --> Alice: Message 2

...5 minutes latter...

Bob --> Alice: Message 3

@enduml

增加消息箭头上下间隔

默认情况下各消息箭线之间的间隔是相等的,
可以使用下面的语法增加消息箭头之间的间隔

  • |||, 可以使用更多的 |, 效果见图 1-16.
  • ||DIGIT||, DIGIT 指定了间隔大小, 以象素为单位


图 1-16
图 1-16

图 1-16 代码, 引用自官方文档

@startuml

Alice -> Bob: message 1
Bob --> Alice: ok

|||

Alice -> Bob: message 2
Bob --> Alice: ok

||45||

Alice -> Bob: message 3
Bob --> Alice: o

@enduml

生命线激活与销毁

  • activate, 激活, 生命线出现
  • deactivate, 解除, 生命线消失
  • destory, 销毁, 生命线结束, 并出现 ‘X’

上述关键字仅影响紧前角色的生命线绘制. 另外, 生命线可以嵌套, 且以 #COLOR
语法可以指定生命线的颜色. 效果见图 1-17, 图 1-18.


图 1-17
图 1-17


图 1-18
图 1-18

图 1-17 代码

@startuml

participant User

User -> A: Message 1
activate A

A -> B: Message 2
activate B

B -> C: Message 3
activate C

C --> B: Message 4
destroy C

B --> A: Message 5
deactivate B

A -> User: Message 5
deactivate

@enduml

图 1-18 代码

@startuml

participant User

User -> A: Message 1
activate A #FFBBBB

A -> A: Message 2
activate A #DarkSalmon

A -> B: Message 3
activate B

B --> A: Message 4
deactivate B
deactivate A

A -> User: Message 5
deactivate

@enduml

创建参与者

在第一次接收消息紧前使用下面的语法创建一个参与者, 表示此消息创建了参与者.

  • create NAME, 创建的参与者名称为 “NAME”
  • create SHAPE NAME, 创建的参与者名称为 “NAME”, 使用的图标形状为 “SHAPE”

效果见图 1-19.


图 1-19
图 1-19

图 1-19 代码

@startuml

Bob -> Alice : Message 1
create Other

Alice -> Other : Create
create control String

Alice -> String
note right : A note
Alice --> Bob : Message 2

@enduml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值