UML新生命线

UML new lifeline

我正在绘制一个 UML 序列图,我有一个 GUI Controller 对象想要创建一个新的 Circle 对象,然后将其添加到 ActiveDrawables 对象。下图中的图表是否正确?或者我应该像 Circle 的生命线一样发送 add()(觉得这看起来有点奇怪)?

例如,在代码中,控制器会调用 add,如图所示,但我怀疑我是否应该从 Circle 的生命线发送消息(虽然,再次,这看起来很奇怪)。

当然要看你的设计了,不过你画出来的是通常的做法。

有时也会使用另一种方法(Circle 联系 ActiveDrawables),例如

  • 当所有 Circles 必须在同一个 ActiveDrawables 中时,
  • 出于效率原因 GUIController 可能会将 ActiveDrawables 标识符传递给 Circle 以在 ActiveDrawables
  • 中立即创建它
  • 如果 Circle 需要始终附加到 ActiveDrawables,您也可以像上一点一样传递标识符

关于图表需要考虑的几点:

  1. 您不必为邮件编号。这是一种在通信图中使用的技术,而不是在序列图中使用的技术。
  2. 最后一条消息似乎是来自上一条消息的 return(回复)。你应该为此使用不同的箭头。
  3. 将生命线命名为 c1: Circle 而不是 Circle。然后你将得到一个 Circle 类型的对象 c1。然后在 add 操作中,您可以使用 c1 准确显示您传递的是新创建的 Circle 对象,而不仅仅是一些 Circle.