Markdown mermaid种草(8)_ 序列图

Markdown mermaid种草(8)_ 序列图

1 序列图简介

​ 序列图是一个交互图,显示过程如何相互操作以及以何种顺序运行.F

2 序列图语法

2.1 参与者

​ 参与者可以含蓄地定义为此页面上的第一个示例.参与者或参与者在图表源文本中按外观顺序呈现.有时,您可能希望以不同于第一条消息中显示参与者的顺序.可以通过以下方式指定演员的出场顺序:

sequenceDiagram
    participant John
    participant Alice
    Alice->>John: Hello John, how are you?
    John-->>Alice: Great!

在这里插入图片描述

2.2 别名

​ 参与者可以通过as语句指定别名,如下所示:

sequenceDiagram
    participant A as Alice
    participant J as John
    A->>J: Hello John, how are you?
    J->>A: Great!

在这里插入图片描述

2.3 消息

​ 消息可以是两个显示实线或虚线.

[对象1][箭头][对象2]: 消息文本
箭头类型描述备注
->不带箭头的实线
–>不带箭头的虚线
->>带箭头的实线
–>>带箭头的虚线
-x实线末端是一个十字
–x虚线末端是一个十字
-)在末端有一个打开箭头的实心线(不对称)typora不支持
–)末端有一个打开的箭头的虚线(不对称)typora不支持

2.4 激活与抑止

​ 允许对参与者进行激活和抑止,可以是专用声明的方式:

sequenceDiagram
    Alice->>John: Hello John, how are you?
    activate John
    John-->>Alice: Great!
    deactivate John

在这里插入图片描述

​ 也可以在对象前面加上 + / - 号前缀来进行激活和抑止:

sequenceDiagram
    Alice->>+John: Hello John, how are you?
    John-->>-Alice: Great!

在这里插入图片描述

​ 也可以对同一个对象做栈激活/栈抑止:

sequenceDiagram
    Alice->>+John: Hello John, how are you?
    Alice->>+John: John, can you hear me?
    John-->>-Alice: Hi Alice, I can hear you!
    John-->>-Alice: I feel great!

在这里插入图片描述

2.5 标注

​ 可以对序列图进行标注,标注的方法是以Note作为引导词进行书写:

Note [ right of | left of | over ] [Actor] : Text in note content
sequenceDiagram
    participant John
    Note right of John: Text in note

在这里插入图片描述

​ 也可以创建横跨两个参与者的标注:

sequenceDiagram
    Alice->John: Hello John, how are you?
    Note over Alice,John: A typical interaction

在这里插入图片描述

2.6 循环

​ 可以使用以下语法实现循环:

loop 循环文本
··· 语句 ···
end

Tips: 在序列图中,end常会造成语句中断,如果文本中需要使用’end’,为了避免造成语句歧义,可以用括号() [] {} 把单词end括起来,如(end)[end]{end}

sequenceDiagram
    Alice->John: Hello John, how are you?
    loop Every minute
        John-->Alice: Great!
    end

在这里插入图片描述

2.7 可选分支

​ 序列图中如果需要实现带else的可选分支,可以用alt引导词,如果需要实现不带else的可选分支,可以用opt引导词,分别如下:

alt Describing text
... statements ...
else
... statements ...
end
opt Describing text
... statements ...
end

举例如下:

sequenceDiagram
    Alice->>Bob: Hello Bob, how are you?
    alt is sick
        Bob->>Alice: Not so good :(
    else is well
        Bob->>Alice: Feeling fresh like a daisy
    end
    opt Extra response
        Bob->>Alice: Thanks for asking
    end

在这里插入图片描述

2.8 并行分支

​ 序列中表示并行分支时,使用par作为引导词,语法如下:

par [Action 1]
... statements ...
and [Action 2]
... statements ...
and [Action N]
... statements ...
end

​ 举例如下:

在这里插入图片描述

​ 还支持嵌套

在这里插入图片描述

2.9 消息序号

​ 使用autonumber关键字可以使消息能按顺序自动编号:

sequenceDiagram
    autonumber
    Alice->>John: Hello John, how are you?
    loop Healthcheck
        John->>John: Fight against hypochondria
    end
    Note right of John: Rational thoughts!
    John-->>Alice: Great!
    John->>Bob: How about you?
    Bob-->>John: Jolly good!

在这里插入图片描述

无名

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值