我喜欢用UML记录我的信号槽连接(例如特殊情况下的连接)。我正在使用Enterprise Architect,当每个类有超过5个信号和/或插槽时,它变得非常混乱。我尝试了Flow Diagram和Component Diagram:
流程图:我将我的类建模为进程,并使用端口作为我的信号/插槽。
组件图:我的组件用于我的类,接口用于我的信号槽。
你有建模信号/插槽的经验吗?你会建议什么?有没有更适合信号/插槽的解决方案?
查理
答案 0 :(得分:1)
我一直使用Sequence Diagram,因为我发现'生命线'系统显示物体之间的流动转换,自然适合信号/槽模式。与上面链接的维基百科文章的引用:
序列图显示了作为平行垂直线(生命线),同时存在的不同进程或对象,以及作为水平箭头,按照它们出现的顺序在它们之间交换的消息。这允许以图形方式指定简单的运行时场景。
似乎同意这一观点,并且很容易阅读。
至于调用插槽的顺序,Qt文档clarifies this:
如果有几个插槽连接到一个信号,则在发出信号时,插槽将按照它们连接的顺序依次执行。
时间是一个相对术语,可以用来指定你想要的任何东西:只要你一致并清楚你正在沟通什么,没有人会介意。