PlantUML 以不同的方向创建

PlantUML create in a different direction

有没有办法控制在 plantUML 序列图中创建对象的位置? 看看这个简单的例子。在这里,我希望在控制台和用户之间有 GUI。

此图的代码如下所示:

 /*
 * 
 * @startuml
 * skinparam sequenceParticipant underline
 * 
 * actor User
 * participant "Console" 
 * database "DB"
 * activate User
 * 
 * User -> Console : giveMeGUI()
 * activate Console
 * create GUI
 * Console -> GUI
 * GUI -> User : Hi there 
 * @enduml
 */

感谢您的帮助

虽然它不在 UML 规范中,但生命线的排序约定通常按照它们首次使用的顺序描述 and/or 创建。让 GUI 出现在 Console 之前,一眼就能看出它是 created/used 在 Console[=29= 之前],但仔细检查会发现它是由 Console.

创建的

您可能不喜欢 GUI 响应跨越 Console 的执行规范。如果是这样,除非 giveMeGUI() 的执行在 GUI 创建之后持续存在,否则无论如何都应该将其停用。

例如

@startuml
skinparam sequenceParticipant underline

actor User
participant "Console" 
activate User

User -> Console : giveMeGUI()
activate Console
create GUI
Console -> GUI : <<create>>
deactivate Console
activate GUI
GUI -> User : Hi there 
deactivate GUI
database "DB"
@enduml

会产生以下结果