首页 > 解决方案 > Plantuml:如何在同一级别上绘制 2 个序列消息?

问题描述

我有一些这样的代码:

class A
{
    void update()
    {
        update1();
        update2();
    }
}

我想把它画在植物中。

我试过这样的事情:

@@startuml
autoactivate on
A -> A : update
A -> A : update1
return
A -> A : update2
return
@@enduml

然后我得到了这样的uml图:

植物

我不喜欢虚线(返回消息)。但是如果我删除返回消息,消息级别(层次结构)将被搞砸。他们不再处于同一水平。

@@startuml
autoactivate on
A -> A : update
A -> A : update1
A -> A : update2
@@enduml

是这样的:update1 和 update 2 不在同一级别

我想update1update2处于同一水平。

标签: umlplantuml

解决方案


退货时使用自动激活是强制性的


正在做 :

@@startuml
A -> A : update
activate A
A -> A : update1
activate A
deactivate A
A -> A : update2
activate A
deactivate A
return
@@enduml

结果是:

在此处输入图像描述

或用 deactivate 替换最后一次返回

@@startuml
A -> A : update
activate A
A -> A : update1
activate A
deactivate A
A -> A : update2
activate A
deactivate A
deactivate A
@@enduml

在此处输入图像描述


当然,另一种方法是使用 UML 建模器而不是抽屉


推荐阅读