我正在研究一个 UML 序列图,我遇到了方法调用,所以我注意到有两种方法可以调用统一建模语言(UML)中的方法行为,即信号和消息,但我不知道如何指定其中的哪一个并基于什么?我的意思是何时使用消息以及何时使用信号,因为我认为这是一个非常重要的设计决策,应该好好选择?
最佳答案
它实际上是,但我认为您使用的术语不是很准确(消息和信号)。序列图中两个对象之间的所有通信都被认为是留言 .
但是,有两种基本类型的消息 - 同步和异步 .
通常的方法调用,当方法调用者等待阻塞直到方法执行结束是同步调用,同步消息。调用者将从被调用的方法接收返回值并继续自己的执行。
结果,这里只有一个执行线程。
还有一种异步通信,当一个对象以某种方式向另一个对象发送消息并立即继续执行而无需等待。例如 SMS 消息、UDP 包发送等。
这里有两个独立的执行线程。
来自 信号它通常是 ment - 异步消息发送。
关于uml - 序列图中方法调用的消息与信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23582302/