时序图:生命线控制(activate/destroy)

时序图:生命线控制(activate/destroy)

puml.online

简介 / Introduction

时序图(Sequence Diagram)中,参与者(Actor)的生命线(lifeline)在不同阶段会被激活(activate)或销毁(destroy)。PlantUML 和 Mermaid 都提供了简洁的关键字来表达这些语义,本文通过同一场景的两个引擎实现来演示其用法。

PlantUML 版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@startuml
participant Client
participant "Order Service" as Order
participant "Payment Service" as Pay

Client -> Order: 下单请求
activate Order
Order -> Pay: 查询余额
activate Pay
Pay --> Order: 余额充足
deactivate Pay
Order -> Order: 创建订单
destroy Order
Client <-- Order: 下单成功
@enduml

PlantUML 使用 activate 激活生命线,deactivate 释放激活状态,destroy 显式销毁生命线并在末端标记 ×。嵌套激活可通过颜色或嵌套块表达。

Mermaid 版

1
2
3
4
5
6
7
8
9
10
11
sequenceDiagram
participant Client
participant Order as "Order Service"
participant Pay as "Payment Service"

Client->>+Order: 下单请求
Order->>+Pay: 查询余额
Pay-->>-Order: 余额充足
Order->>+Order: 创建订单
Order-->>-Client: 下单成功
destroy Order

Mermaid 通过 + 符号激活生命线,- 符号释放激活状态,destroy 同样标记生命线末端为 ×。颜色激活(activate/deactivate 指令)需插件支持,核心语法依赖 +/- 前缀。

对比 / Side-by-side

特性 PlantUML Mermaid
激活生命线 activate <name> + 前缀或 activate(name)
释放激活 deactivate <name> - 前缀或 deactivate(name)
销毁生命线 destroy <name> destroy <name>
嵌套激活 颜色块或 activate 嵌套 +/- 嵌套层级
语法风格 命令式关键字 箭头修饰符

小结 / Wrap-up

两个引擎对生命线控制的设计思路一致:激活用 +/activate,释放用 -/deactivate,销毁用 destroy。PlantUML 在视觉上更丰富(颜色块、嵌套层级),Mermaid 的 +/- 前缀写法更紧凑。实际项目中可根据团队工具链和图表复杂度选择合适的引擎。

  • 标题: 时序图:生命线控制(activate/destroy)
  • 作者: puml.online
  • 创建于 : 2026-08-31 09:00:00
  • 更新于 : 2026-08-31 01:06:44
  • 链接: https://puml.online/blog/sequence-diagram-lifeline-control/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
目录
时序图:生命线控制(activate/destroy)