它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时, 时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。
mermaid关键字sequenceDiagram
连接线
连线名称 | 代码 | 效果 |
---|---|---|
直线 | mermaid
1 2 3 4 | |
直线箭头 | mermaid
1 2 3 4 | |
虚线 | mermaid
1 2 3 4 | |
虚线箭头 | mermaid
1 2 3 4 | |
直叉线箭头 | mermaid
1 2 3 4 | |
虚叉线箭头 | mermaid
1 2 3 4 | |
直线圆弧箭头 | mermaid
1 2 3 4 | |
虚线圆弧箭头 | mermaid
1 2 3 4 |
参与者
参与者可以是participant
或actor
,可以通过as
别名。
mermaid
1 2 3 4 5 |
备注
备注语法note [right of | left of | over ] [Actor]
mermaid
1 2 3 4 5 |
抉择(alt)
用来指明在两个或很多其它的消息序列之间的相互排斥的选择,相当于if..else..
mermaid
1 2 3 4 5 6 7 |
选项(opt)
表示一个可能或不可能发生的序列
mermaid
1 2 3 4 5 6 7 8 |
循环(loop)
片段反复一定次数。 能够在临界中指示片段反复的条件
mermaid
1 2 3 4 5 |
并行(par)
并行发生的序列
mermaid
1 2 3 4 5 6 7 8 9 10 11 |
参与者菜单
只对participant
有效
mermaid
sequenceDiagram
participant Alice
participant John
link Alice: blog @ https://www.xiehai.win
link Alice: ebook @ https://www.xiehai.win/ebook.html
links John: {"open source": "https://www.xiehai.win/open-source.html", "message board": "https://www.xiehai.win/messages-board.html"}
1
2
3
4
5
6
2
3
4
5
6
激活状态
可以激活/解除激活某个参与者。
mermaid
1 2 3 4 5 |
序号
支持将序列图序号添加到每个序列的开始位置,这个特性需要在初始化mermaid的时候设置。
javascript
mermaid.initialize({sequence: { showSequenceNumbers: true }});
1
mermaid
sequenceDiagram
autonumber
Alice->>John: Hello John, how are you?
loop HealthCheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10