简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
1.前言
本篇目的:MarkDown之时序图并行、条件、循环、可选等高级语法,分享之。
2.Markdown时序图介绍
-
Markdown时序图,作为Markdown语法的一个扩展功能,以其直观、简洁的方式,在描述和呈现事件顺序或消息传递流程方面发挥着重要作用。时序图,又称序列图或顺序图,是UML(统一建模语言)中的一种图形表示法,用于显示对象之间交互的顺序。而Markdown时序图则提供了一种在纯文本环境中绘制这种图形的方法,使得在编写文档或交流想法时,能够方便地展示事件或消息的时序关系。
-
Markdown时序图通过定义一系列的参与者和消息来构建整个图形。参与者可以是系统、用户或其他任何在交互过程中扮演角色的实体,而消息则是这些实体之间传递的信息。在Markdown中,通常使用特定的语法来标识参与者和消息,比如使用破折线来分隔不同的参与者,使用箭头和文本来表示消息的方向和内容。
-
使用Markdown时序图,我们可以清晰地展示出一个系统中各个组件是如何协同工作的,或者一个过程中各个步骤是如何依次执行的。这种图形化的表达方式不仅直观易懂,而且能够减少文字描述的冗余和歧义,使得读者能够更快地理解和把握整个流程。
-
此外,Markdown时序图还具有很好的灵活性和扩展性。用户可以根据自己的需要,添加或删除参与者、调整消息的顺序和内容,甚至可以为参与者或消息添加自定义的样式和标注。这种灵活性使得Markdown时序图能够适用于各种不同的场景和需求,无论是用于项目文档、技术手册还是教学演示,都能发挥出其独特的作用。
-
总的来说,Markdown时序图是一种非常实用的工具,它结合了Markdown的简洁性和时序图的直观性,使得在纯文本环境中描述和呈现事件顺序或消息传递流程变得简单而高效。无论是对于个人用户还是团队协作,Markdown时序图都是一个值得学习和掌握的技能。
3.Markdown时序图高级语法
<1>.条件分支:alt 和 end
sequenceDiagram
autonumber
A->>B: 你是小明吗?
alt 是的
B-->>A: 我是小明
else 不是
B-->> A: 我不是小明
end
<2>.并行处理:par 和 end
sequenceDiagram
autonumber
par 选项2
A->>B: 请求2
A->>B: 请求3
A->>B: 请求4
B-->>A: 回复2
and 124
B-->>A: 回复5
end
<3>.循环执行一组消息:loop 和 end
sequenceDiagram
autonumber
A->>B: 请求1
loop 处理消息
A->>B: 请求3
A->>B: 请求4
B-->>A: 回复3
B-->>A: 回复4
end
<4>.可选的消息序列:opt 和 end
sequenceDiagram
autonumber
A->>B: 请求1
opt 选项2
A->>B: 请求4
A->>B: 请求5
A->>B: 请求6
B-->>A: 回复4
end
<5>.设置颜色
sequenceDiagram
autonumber
A.cpp ->> B.cpp : test()
activate A.cpp
rect rgb(244,164,60)
par B()构造函数顺序执行
%%1.第一种写法:
%%rect rgb(0,175,255)
%%蓝色
rect rgb(30,175,255)
%%2.第二种写法:
%%rect red
par A()函数顺序执行
A.cpp ->> B.c : open()
A.cpp ->> B.c : ioct()
end
end
A.cpp ->> B.cpp : mmap()
end
end
deactivate A.cpp