记录异步通信

Documenting Asynchronous Communication

UML 是否定义了在显示系统中各种组件的交互时应如何显示异步通信模式(可观察、消息总线等)?我知道序列图能够显示 asynchronous calls 但是这些不显示有关通信方法的任何信息(例如,事件总线的详细信息或可观察对象的订阅 to/disposing 可能是对文档很重要)。是否有标准的方法来捕获这些类型的细节?

其实你问的是通过留言说的更详细些。例如,如果您通过套接字将数据发送到另一个进程,您只需调用系统库的 send 方法。这反过来会做很多事情(一直到切换许多集线器和交换机中的许多晶体管),直到相反的过程得到控制。通常没有人对这些细节感兴趣。这就是我们所说的抽象。

但是,如果出于任何原因您对消息传输的某些部分细节感兴趣而不深入细节,您可以简单地在消息上贴上注释。另一种方法是使用这样的刻板印象:

请注意,上面的草图显示了一个同步调用,尽管有问题标题。对异步调用使用空心箭头变体。