### 序列圖
時序圖中包括如下元素:角色,對象,生命線,控制焦點和消息
語法:以 ``` 開頭,以``` 結尾,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流程圖可參考:
閱讀更多 影帝小碼 的文章