选择框守卫中的方法调用
Method call in opt box's guard
A::foo() {
if (B::bar())
doSomething();
}
如何在 UML 序列图中显示 B::bar()
方法调用?我知道这是可能的:
A::foo() {
x = B::bar();
if (x)
doSomething();
}
这样我就可以先绘制消息,然后再绘制带有 [x] 守卫的选择框。但这并不完全相同。还有其他方法吗?
您不应该陷入图形化编程的陷阱。 SD 并不意味着描绘复杂的算法(它会失败,因为在使用片段进行一些嵌套的 if
之后你很容易猜到)。
如果 x
-assignment 是一些更复杂结构的一部分,您可以在片段中按原样使用它,并最终用一个注释来装饰它,告诉它 x
是如何以及在哪里出现的放。如果这正是您上面所拥有的,您可以简单地使用片段中 x
的来源(即 B::bar()
)。
A::foo() {
if (B::bar())
doSomething();
}
如何在 UML 序列图中显示 B::bar()
方法调用?我知道这是可能的:
A::foo() {
x = B::bar();
if (x)
doSomething();
}
这样我就可以先绘制消息,然后再绘制带有 [x] 守卫的选择框。但这并不完全相同。还有其他方法吗?
您不应该陷入图形化编程的陷阱。 SD 并不意味着描绘复杂的算法(它会失败,因为在使用片段进行一些嵌套的 if
之后你很容易猜到)。
如果 x
-assignment 是一些更复杂结构的一部分,您可以在片段中按原样使用它,并最终用一个注释来装饰它,告诉它 x
是如何以及在哪里出现的放。如果这正是您上面所拥有的,您可以简单地使用片段中 x
的来源(即 B::bar()
)。