Mermaid项目中的序列图(Sequence Diagram)完全指南
mermaid 项目地址: https://gitcode.com/gh_mirrors/mer/mermaid
什么是序列图?
序列图是UML中最重要的交互图类型之一,它通过时间顺序展示对象之间的交互过程。在mermaid项目中,我们可以使用简洁的语法来创建专业的序列图。
基础语法
最简单的序列图
sequenceDiagram
Alice->>John: 你好John,最近怎么样?
John-->>Alice: 非常好!
这个例子展示了两个参与者Alice和John之间的简单对话。->>
表示带箭头的实线,-->>
表示带箭头的虚线。
参与者定义
参与者可以隐式定义(按出现顺序),也可以显式定义并控制显示顺序:
sequenceDiagram
participant 张三
participant 李四
李四->>张三: 你好张三
张三->>李四: 你好李四
使用角色符号
如果想使用角色图标而非矩形框表示参与者:
sequenceDiagram
actor 张三
actor 李四
张三->>李四: 你好
李四->>张三: 你好
高级功能
参与者别名
可以为参与者设置简短的别名和描述性标签:
sequenceDiagram
participant Z as 张三
participant L as 李四
Z->>L: 最近项目进展如何?
L->>Z: 一切顺利!
参与者生命周期管理
可以动态创建和销毁参与者:
sequenceDiagram
张三->>李四: 项目需求讨论
create participant 王五
张三->>王五: 这是新成员
destroy 李四
王五->>张三: 收到
分组功能
将参与者分组显示:
sequenceDiagram
box 开发团队
participant 张三
participant 李四
end
box 测试团队
participant 王五
participant 赵六
end
张三->>王五: 提测申请
消息类型
mermaid支持多种消息箭头类型:
| 类型 | 描述 | |-----------|----------------------| | ->
| 实线无箭头 | | -->
| 虚线无箭头 | | ->>
| 实线带箭头 | | -->>
| 虚线带箭头 | | -x
| 实线带叉(表示终止) | | --)
| 虚线带开放箭头(异步)|
交互控制
激活与取消激活
sequenceDiagram
张三->>+李四: 开始处理
李四-->>-张三: 处理完成
+
表示激活,-
表示取消激活。
循环结构
sequenceDiagram
张三->>李四: 准备好了吗?
loop 每分钟检查
李四-->>张三: 还没好
end
条件分支
sequenceDiagram
张三->>李四: 系统正常吗?
alt 正常
李四-->>张三: 一切正常
else 异常
李四-->>张三: 发现问题
end
并行处理
sequenceDiagram
par 并行任务
张三->>李四: 任务A
and
张三->>王五: 任务B
end
注释与样式
添加注释
sequenceDiagram
张三->>李四: 发送数据
Note right of 李四: 需要验证数据完整性
背景高亮
sequenceDiagram
rect rgb(200, 220, 255)
张三->>李四: 重要流程开始
end
实用技巧
- 换行处理:在消息或注释中使用
<br/>
实现换行 - 特殊字符:使用
#9829;
等方式显示特殊符号 - 自动编号:使用
autonumber
自动为消息添加序号 - 弹出菜单:为参与者添加外部链接菜单
sequenceDiagram
autonumber
participant 张三
link 张三: 个人主页 @ http://example.com
张三->>李四: 第一句话
李四-->>张三: 回复
通过mermaid的序列图功能,开发者可以轻松创建专业的交互流程图,无论是系统设计文档还是业务流程说明,都能清晰表达各个组件或角色间的交互时序。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考