自我消息(非递归)vs自递归消息

时间:2012-07-24 07:54:29

标签: uml sequence-diagram

这两条消息有什么区别?我在网上搜索了一下,大多数我能找到的是

  

自我消息是对象发送给自己的消息。它是一条消息,表示同一生命线的消息调用。自我消息可以表示操作的递归调用,或者一个方法调用属于同一对象的另一个方法。

递归消息带来的额外激活条有什么好处?

以图形表示法:

非递归自我消息:

enter image description here

递归自我消息

enter image description here

有什么区别?

1 个答案:

答案 0 :(得分:17)

当你在类中调用不调用其他函数的函数时,你应该使用自己的消息,不要发送任何消息(或者他们这样做但你不想在序列中显示它)。

如果你还想模拟类的内部函数如何与其他生命线交互,你必须使用递归调用来显示这个,否则读者不能知道消息是从内部函数发送/接收的。