在序列图 MVC 中删除消息

Delete message in Sequence diagram MVC

下图是从用户列表页面(UsersView)中删除用户的时序图。一旦用户单击用户视图中用户行的删除按钮,我应该删除该特定用户并更新用户视图。我的问题是删除时,在我的序列图中,我应该将删除消息指向 User Model (意味着将删除用户模型) 是我下面的图表,因为它是我使用方法 message deleteUser() 的地方,基本上从整个 Users Model.

中删除了相关的选定模型

如果有人能澄清这一点,我们将不胜感激。

干杯!

因为 UserModel 公开了一个操作 deleteUser() 我想这个 class 管理一个用户列表(可能是 User 个对象),因此它会删除其中一个。您是否要显示该对象的删除取决于您 need/want 要显示的详细信息。如果显示 User 对象的删除很重要,您可以向另一个 User 生命线显示一条额外的删除消息。 «destroy» 在任何情况下看起来都是错误的,因为您没有向 UserModel 发送删除消息来结束其生命,而只是发送一条普通消息。

嗯。也许您的 UserModel 就是 User 本身?在那种情况下,您应该考虑更好地命名您的模型元素。虽然 MVC 似乎暗示你用相应的后缀调用你的 classes,但我认为这对 M 来说不是一个好主意。你见过每个 class 都带有模型后缀的数据模型吗?


关于删除的更多信息。我 运行 通过规范并在 17.4 消息 :

章下面找到了这些段落

[...]

• An object deletion Message (messageSort equals deleteMessage) must end in a DestructionOccurrenceSpecification.

deleteMessage 是 MessageSort 枚举的属性:

• deleteMessage The message designating the termination of another lifeline.

就是这样。没有提及要使用的原型或关键字。这将是一个简单的消息(箭头),后跟 X 以标记对象生命的结束。

所以还有一点 space 需要解释。但是,没有提到在消息中包含 stereotype/keyword «destroy»。如果您发送一个签名,该操作将被调用,并且该对象必须在完成后自行销毁。正如所写的那样,它是 另一条生命线的终止 ,当调用一个操作时会自相矛盾,因为它需要在之后自行销毁。


就我个人而言,除非它很重要(对于内存管理 and/or 安全),否则我不会展示该对象及其销毁。 ìnitiateDeleteUser()(又是一个坏名字,因为它确实删除了用户)在这里就足够了。