MarkDown之时序图并行、条件、循环、可选高级语法(三十)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

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
A B 你是小明吗? 1 我是小明 2 我不是小明 3 alt [是的] [不是] A B

<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
A B 请求2 1 请求3 2 请求4 3 回复2 4 回复5 5 par [选项2] [124] A B

<3>.循环执行一组消息:loop 和 end

sequenceDiagram
    autonumber
    A->>B: 请求1
    loop 处理消息
        A->>B: 请求3
        A->>B: 请求4
        B-->>A: 回复3
        B-->>A: 回复4
    end
A B 请求1 1 请求3 2 请求4 3 回复3 4 回复4 5 loop [处理消息] A B

<4>.可选的消息序列:opt 和 end

sequenceDiagram
    autonumber
    A->>B: 请求1
    opt 选项2
        A->>B: 请求4
        A->>B: 请求5
        A->>B: 请求6
        B-->>A: 回复4
    end
A B 请求1 1 请求4 2 请求5 3 请求6 4 回复4 5 opt [选项2] A B

<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
		
A.cpp B.cpp B.c test() 1 open() 2 ioct() 3 par [A()函数顺序执行] mmap() 4 par [B()构造函数顺序执行] A.cpp B.cpp B.c

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/508805.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Jenkins首次安装选择推荐插件时出现”No such plugin cloudbees-folder”解决方案

安装Jenkins成功之后&#xff0c;首次启动Jenkins后台管理&#xff0c;进入到安装插件的步骤&#xff0c;选择"推荐安装"&#xff0c;继续下一步的时候出现错误提示&#xff1a; 出现一个错误 安装过程中出现一个错误&#xff1a;No such plugin&#xff1a;cloudb…

Shell与Bash与POSIX与Linux间的关系

shell是什么&#xff1f; Shell的英语翻译是“壳”&#xff0c;其作用也跟名字差不多&#xff0c;为操作系统套个壳&#xff0c;人与操作系统的壳交互。与壳相对应的则是操作系统内核&#xff0c;一个“壳”一个“核”。核从1970年代开始就基本定型了&#xff0c;没什么大的改…

卷积神经网络-池化层

卷积神经网络-池化层 池化层&#xff08;Pooling Layer&#xff09;是深度学习神经网络中的一个重要组成部分&#xff0c;通常用于减少特征图的空间尺寸&#xff0c;从而降低模型复杂度和计算量&#xff0c;同时还能增强模型的不变性和鲁棒性。 池化操作通常在卷积神经网络&am…

网络基础——ISIS

名词 ISIS&#xff1a;中间系统到中间系统&#xff0c;优先级是15集成化ISIS&#xff1a;这是在优化后&#xff0c;可以使用在OSI模型上的NET地址&#xff1a;由区域ID、系统ID和SEL组成&#xff0c;一台设备上最多配置3个NET地址&#xff0c;条件是区域号要不一致&#xff0c;…

海康Ehome2.0与5.0设备接入EasyCVR视频汇聚平台时的配置区别

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

git log

让日期数字化 &#xff08;这几个英文的月份简写实在看着断片&#xff09; git log --dateformat:"%Y%m%d"一行显示 数字日期 作者 commit git log --dateformat:"%Y%m%d" --prettyformat:"%ad %an %s"反向&#xff0c;最早的放前面。 --rev…

LeetCode刷题:无重复字符的最长子串 详解 【3/1000 第三题】

&#x1f464;作者介绍&#xff1a;10年大厂数据\经营分析经验&#xff0c;现任大厂数据部门负责人。 会一些的技术&#xff1a;数据分析、算法、SQL、大数据相关、python 作者专栏每日更新&#xff1a; LeetCode解锁1000题: 打怪升级之旅 LeetCode解锁1000题: 打怪升级之旅htt…

LeNet卷积神经网络

文章目录 简介conv2d网络层的结构 简介 它是最早发布的卷积神经网络之一 conv2d 这个卷积成的参数先进行介绍一下&#xff1a; self.conv1 nn.Conv2d(in_channels3, out_channels10, kernel_size3, stride1, padding1)先看一下in_channels 输入的通道数&#xff0c;out_cha…

前端常用代码整理— js,jquery篇(3)

目录 1.判断是否是json字符串 2.获取当前网址 3.将文本复制到剪贴板 4.获取一个月的天数 5.展平数组 6.要修改getRandomItem函数以返回数组中的随机两个元素&#xff0c;可以尝试以下代码 1.判断是否是json字符串 const isJson str > {try {JSON.parse(str);return …

【JavaWeb】Day30.SpringBootWeb请求响应——响应

响应 HTTL协议的交互方式&#xff1a;请求响应模式&#xff08;有请求就有响应&#xff09;那么Controller程序&#xff0c;除了接收请求外&#xff0c;还可以进行响应。 1.ResponseBody 在我们前面所编写的controller方法中&#xff0c;都已经设置了响应数据。 controller方…

基于ArgoCD和Testkube打造GitOps驱动的Kubernetes测试环境

本文介绍了一项新工具&#xff0c;可以基于Gitops手动或者自动实现Kubernetes集群应用测试&#xff0c;确保集群的健康状态与Git仓库定义的一致。原文: GitOps-Powered Kubernetes Testing Machine: ArgoCD Testkube 简介&#xff1a;GitOps 云原生测试面临的挑战 现代云原生应…

Unity中UI系统1——GUI

介绍 工作原理和主要作用 基本控件 a.文本和按钮控件 练习&#xff1a; b.多选框和单选框 练习&#xff1a; 用的是第三种方法 c.输入框和拖动框 练习&#xff1a; 练习二&#xff1a; e.图片绘制和框 练习&#xff1a; 复合控件 a.工具栏和选择网格 练习&#xff1a; b.滚动视…

【stm32】USART编码部分--详细步骤

USART编码部分(文章最后附上源码) 如果看不懂步骤可以根据源码参考此篇文章就能轻而易举学会USART通信啦&#xff01; 编码步骤 第一步 开启时钟 把需要用到的USART和GPIO的时钟打开 第二部 GPIO初始化 把TX配置成复用输出&#xff0c;RX配置成输入(上拉输入、浮空输入)。…

CCIE-12-IPSec-VPN-RemoteAccess

目录 实验条件网络拓朴实验目的 开始配置1. R2 Ping R3确定基础网络是通的2. 配置R23. 配置R53. 验证 实验条件 网络拓朴 实验目的 为R2和R3建立IPSec VPN R4可以ping通R5 开始配置 R2&#xff1a;模拟需要远程访问网络的网关 R4&#xff1a;模拟需要远程访问网络内的目标主…

selenium 遮罩层

之前写智联自动投简历 和boss自动投简历的时候 发现操作到上限之后就有个遮罩层&#xff0c;会在当前页面有个顶层得div 没办法获取下面的内容 # 假设遮罩层元素有一个特定的ID或者其他属性 没有id xpath 或者class 都可以mask_element WebDriverWait(driver, 10).until(EC.…

农业信息管理(源码+文档)

农业信息管理系统&#xff08;小程序、ios、安卓都可部署&#xff09; 文件包含内容程序简要说明功能项目截图客户端首页我的今日动态动态详情登录修改资料今日价格今日报价注册页 后端管理文章管理用户管理分类管理 文件包含内容 1、搭建视频 2、流程图 3、开题报告 4、数据库…

Python:百度AI开放平台——OCR图像文字识别应用

一、注册百度AI开放平台 使用百度AI服务的步骤为&#xff1a; 注册&#xff1a;注册成为百度AI开放平台开发者&#xff1b;创建AI应用&#xff1a;在百度API开放平台上创建相关类型的的AI应用&#xff0c;获得AppID、API Key和Secret Key&#xff1b;调用API&#xff1a;调用…

AR和VR如何改变客户体验?

How AR and VR are transforming customer experiences&#xff1f; How AR and VR are transforming customer experiences AR和VR如何改变客户体验 AR and VR technology was largely expedited by the past pandemic with at least 93.3 million and 58.9 million users r…

基于Java+SpringBoot+Mybaties+layui+Vue+elememt 实习管理系统 的设计与实现

一.项目介绍 前台功能&#xff1a;用户进入系统可以实现首页&#xff0c;系统公告&#xff0c;个人中心&#xff0c;后台管理等功能进行操作 后台由管理员&#xff0c;实习单位&#xff0c;教师和学生&#xff0c;主要功能包括首页&#xff0c;个人中心&#xff0c;班级管理&am…

ETL工具-nifi干货系列 第六讲 处理器JoltTransformJSON

1、处理器作用 使用Jolt转换JSON数据为其他结构的JSON,成功的路由到success,失败的failure。处理JSON的实用程序不是基于流的&#xff0c;因此大型JSON文档转换可能会消耗大量内存。 Jolt&#xff1a;JSON 到 JSON 转换库&#xff0c;用 Java 编写&#xff0c;其中转换的 &qu…