1

有没有办法控制在 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
 */

谢谢您的帮助

4

1 回答 1

2

虽然它不在 UML 规范中,但对生命线排序的约定通常按照它们首次使用和/或创建的顺序来描述。让GUI出现在Console之前一目了然表明它是在Console之前创建/使用的,尽管仔细检查会显示它是由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

会导致以下结果

在此处输入图像描述

于 2017-04-19T20:50:14.837 回答