序列图是对对象之间传送消息的时间顺序的可视化表示。序列图的主要用途是把用例表达的需求,转化为进一步、更加正式层次的精细表达。
在Markdown编辑器中使用 sequenceDiagram 标记:
```flow
sequenceDiagram
Alice->>John: Hello John, how are you?
John-->>Alice: Great!
```
效果如下:
Participants 参与者
可以像上例中那样隐式定义参与者。在图表源文本中按出现顺序呈现参与者或角色。 有时,您可能想以不同的出现顺序来显示参与者。 通过执行以下操作可以指定演员的出场顺序:
```flow
sequenceDiagram
participant John
participant Alice
Alice->>John: Hello John, how are you?
John-->>Alice: Great!
```
效果
Aliases 别名
角色可以用ID表示。
```flow
sequenceDiagram
participant A as Alice
participant J as John
A->>J: Hello John, how are you?
J->>A: Great!
```
效果
Messages 消息
在实线上面可以显示消息文字,格式如下
[Actor][Arrow][Actor]:Message text
类型 | 描述 |
---|---|
-> | 没有箭头的实线 |
--> | 没有箭头的虚线 |
->> | 有箭头的实线 |
-->> | 有箭头的虚线 |
-x | 有叉号的实线 |
--x | 有叉号的虚线 |
Activations 激活
可以激活和停用角色。. (de)activation
```flow
sequenceDiagram
Alice->>John: Hello John, how are you?
activate John
John-->>Alice: Great!
deactivate John
```
效果:
也可使用 + / - 简写
```flow
sequenceDiagram
Alice->>+John: Hello John, how are you?
John-->>-Alice: Great!
```
效果如下:
Notes 注释
可以在顺序图中添加注释。 并可指定位置 [ right of | left of | over ] [Actor]: 文本内容
请参阅以下示例:
```flow
sequenceDiagram
participant John
Note right of John: Text in note
```
效果:
Loops 循环
时序图支持循环,语法如下
```flow
sequenceDiagram
Alice->John: Hello John, how are you?
loop Every minute
John-->Alice: Great!
end
```
效果:
Alt 替代
可以在顺序图中表达替代路径。 这是通过符号来完成的
```flow
sequenceDiagram
Alice->>Bob: Hello Bob, how are you?
alt is sick
Bob->>Alice: Not so good :(
else is well
Bob->>Alice: Feeling fresh like a daisy
end
opt Extra response
Bob->>Alice: Thanks for asking
end
```
效果如下:
回复 (0)