我喜欢用 UML 记录我的信号槽连接(例如特殊情况下的连接)。我正在使用 Enterprise Architect,当每个类有超过 5 个信号和/或插槽时,它变得非常混乱。我尝试了流程图和组件图:
流程图:我将我的类建模为进程,并将端口用于我的信号/插槽。
组件图:我为我的类使用了组件,为我的信号槽使用了接口。
您对信号/插槽建模有什么经验吗?您有什么建议?有没有更适合信号/插槽的解决方案?
查理
在一个简单的类图中,您将记录类(或接口)和信号之间的关系:
«signal»
。它可能具有用与消息内容相对应的属性表示的参数。«send»
为相关操作对信号的依赖性«signal»
和命名完全一样,它的属性出现在它的参数列表中。接待处可能在一个单独的隔间中在视觉上分开。这对应于Qt 插槽在活动图中(从 UML 的角度来看,它比“流程图”更好,因为流程图不是 UML 也不是标准化的),您可以指定信号的动态:
最后,这种建模的优势在于,您可以将信号用作状态图中的事件,并以非常简单、独立于实现的抽象方式表达相当复杂的事物。