我想画一个序列图,我想展示用户和 UI 之间的交互。作为演员的用户将填充一个文本框,并在 text_change 事件上调用 BL 类的异步方法。在这种情况下,是否可以在图表上显示 text_change 事件?我该如何展示它?
谢谢
为了在或多或少复杂且 GUI 丰富的应用程序中表示交互,我也经常发现自己对在序列图中表示 .NET 事件很感兴趣。在我看来,没有真正的描述性方法可以使用标准方法有效地做到这一点。
一种形式上合理的方式可能如下:引发事件基本上只是调用目标实例中定义的函数,唯一的区别是您不是直接调用它,而是通过系统事件消息循环调用它。因此,在幕后,引发事件与在系统本身中调用一些HandleMessage("MyEvent", params object[] args)函数相同,参数是事件名称和可选参数列表。我不知道确切的名称和签名是什么,但这并不重要。
在上图中,Source实例发出一个事件MyEvent,其中包含落在系统接收器上的参数列表。接收者找到收件人 ( Target ) 并调用其相应的方法 ( Target.OnMyEvent() )。为了强调这个调用是事件触发的,我引入了一个称为“事件”的原型。
这个方案可能看起来有些笨拙,但对我来说,它涵盖了这种情况。