У меня есть такой код:
class A
{
void update()
{
update1();
update2();
}
}
и я хотел бы нарисовать его в plantuml.
Я пробовал что-то вроде этого:
@@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
и update2
были на одном уровне.
Ваша схема полностью соответствует коду. Вы можете убрать пунктирное сообщение повторного запуска, чтобы сделать его неявным (но я понятия не имею о PlantUML). Однако такое представление является правильным.
@muszeo Я приложил еще одну диаграмму без ответного сообщения. Они не на одном уровне.
просто не используйте автоматически активировать на, смотрите мой ответ
При использовании автоматически активировать навернуть являются обязательными.
Делает :
@@startuml
A -> A : update
activate A
A -> A : update1
activate A
deactivate A
A -> A : update2
activate A
deactivate A
return
@@enduml
результат:
или заменив последний вернуть на деактивировать :
@@startuml
A -> A : update
activate A
A -> A : update1
activate A
deactivate A
A -> A : update2
activate A
deactivate A
deactivate A
@@enduml
Конечно, другим способом является использование средства моделирования UML, а не ящика.
Это первый раз, когда я использую plantuml, я просто посмотрел примеры, чтобы найти способы
Они на одном уровне, не так ли?