### 序列图
时序图中包括如下元素:角色,对象,生命线,控制焦点和消息
语法:以 ``` 开头,以``` 结尾,sequenceDiagram为关键字
```
sequenceDiagram
小明->小红: 你好啊
小红-->小明: 你好
小明->>小红: 你好啊
小红-->>小明: 你好
小明-X小红: 你好啊
小红--X小明: 你好
```
如上其中:
> sequenceDiagram时序图关键字,表示这是一个时序图
> 小明和小红表示时序图中的对象
> 实体方向箭头代表消息,分为同步消息、异步消息和返回消息
默认参与对象是不用显示定义的,如下方式和上面方式定义相同
```
sequenceDiagram
participant 小明
participant 小红
小明->>小红: 你好啊
小红-->>小明: 你好
```
可以给参与对象设置别名
```
sequenceDiagram
participant 小明 as 明
participant 小红 as 红
小明->>小红: 你好啊
小红-->>小明: 你好
```
可以在序列图中增加注释文本,分别为左边,右边和两者都包括
```
sequenceDiagram
participant 小明 as 明
participant 小红 as 红
小明->>小红: 你好啊
Note left of 小明: 小明说了你好
小红-->>小明: 你好
Note right of 小明: 小红也说了你好
Note over 小明,小红: 他们都说了你好
```
序列图中表示循环
```
sequenceDiagram
participant 小明 as 明
participant 小红 as 红
小明->>小红: 你好啊
loop 每分钟
小红-->>小明: 你好
end
```
序列图中表示可选路径
```
sequenceDiagram
participant 小明 as 明
participant 小红 as 红
小明->>小红: 你好啊
alt 高兴
小红-->>小明: 你好
else 不高兴
小红-->>小明: 不好
end
opt 特别回答
小红-->>小明: 很高兴认识你
end
```
有道云笔记对于Markdown的时序图支持不是很完美。不过可以使用mermaid来解决。连接地址:https://mermaidjs.github.io/sequenceDiagram.html
Markdown流程图可参考:
閱讀更多 影帝小碼 的文章