基础语法

声明及指向

  1. # sequenceDiagram: 代指图的类型
  2. # participant:参与人(你可以理解为成员,若是有 plantuml 的底子应该一目了然)
  3. # ->> 单向带箭头实线指向
  4. # -->> 单向带箭头虚线指向
  5. sequenceDiagram
  6. participant 木木
  7. participant 花花
  8. 花花->木木: 木木,你好帅啊!!
  9. 木木-->花花: 这不是显而易见的么?
  10. 花花-x 卡布奇诺: 我讨厌你
  11. 卡布奇诺--x木木: 老子弄死你!

Sequence diagrams(时序图) - 图1

指向类型 描述
-> 不带箭头的实线
—> 不带箭头的虚线
->> 带箭头的实线
—>> 带箭头的虚线
-x 在结束端显示关闭符号的实线
—x 在结束端显示关闭符号的虚线

角色(参与者)别名

  1. # alias(as)别名,国际通用
  2. sequenceDiagram
  3. participant crper as 木木
  4. participant flower as 花花
  5. flower->>crper: 木木,你好帅啊!!
  6. crper-->>flower: 这不是显而易见的么?

Sequence diagrams(时序图) - 图2

角色激活失效

激活角色可以用activate,+ 修饰符
角色失效可以用deactivate,-修饰符

  1. sequenceDiagram
  2. 木木->>花花: 早上好,今天天气不错哦!!
  3. activate 花花
  4. 花花 ->> -木木: 睡你的觉去吧,需要你问候么!
  5. 花花 -->> +木木: 真的睡觉去了?开玩笑的
  6. 木木 -->> 花花: 凉凉夜色为你思念成河。

Sequence diagrams(时序图) - 图3

备注(备忘录)

若是时序图不能写备注的,表达性就要弱很多了。

支持三个方向:

  • Note right of : 右边
  • Note left of : 左边
  • Note over : 下边
  1. sequenceDiagram
  2. 木木->>花花: 早上好,今天天气不错哦!!
  3. Note left of 木木: 放飞思绪中
  4. activate 花花
  5. 花花 ->> -木木: 睡你的觉去吧,需要你问候么!
  6. Note right of 花花: 无语!!!
  7. 花花 -->> +木木: 真的睡觉去了?开玩笑的
  8. Note over 花花: 不会凉了吧。
  9. 木木 -->> 花花: 凉凉夜色为你思念成河。

Sequence diagrams(时序图) - 图4

循环

爱的魔力转圈圈,爱你三千遍!!

  1. sequenceDiagram
  2. 木木->>花花: 早上好,今天天气不错哦!!
  3. Note left of 木木: 放飞思绪中
  4. activate 花花
  5. 花花 ->> -木木: 睡你的觉去吧,需要你问候么!
  6. Note right of 花花: 无语!!!
  7. 花花 -->> +木木: 真的睡觉去了?开玩笑的
  8. Note over 花花: 不会凉了吧。
  9. loop 每时每刻
  10. 木木 -->> 花花: 凉凉夜色为你思念成河。
  11. end

Sequence diagrams(时序图) - 图5

条件判断

条件判断和常规的编程语言写法有点差异,可以用来增加表现力

  1. sequenceDiagram
  2. 木木->>花花: 早上好,今天天气不错哦!!
  3. Note left of 木木: 放飞思绪中
  4. alt 理想化
  5. 花花->>木木: 是啊,不错呢?
  6. else 现实中
  7. 花花 ->> 木木: 睡你的觉去吧,需要你问候么!
  8. Note right of 花花: 无语!!!
  9. end
  10. opt 假如时光可以倒流
  11. loop 此处默数三千遍
  12. 木木 -->> 花花: 我不会嘴贱去询问你
  13. end
  14. end

Sequence diagrams(时序图) - 图6

总结

时序图也支持美化,当然也是用类去修饰 svg 的线条这些。语雀上没法声明临时样式,无解。

不过这种东东用的场景不是很多,我们用图图更多的是想快速表达一些东西。

强迫党自然会死磕,我们随意。