我喜欢用UML记录我的信号插槽连接(例如特殊情况下的连接)。我使用的是企业架构师( Enterprise ),当每个类有超过5个信号和/或插槽时,它会变得非常混乱。我试过流程图和组件图
流程图:我将类建模为进程,并使用端口作为信号/插槽。
组件关系图:我使用了类的组件和信号插槽的接口。
你有任何建模信号/插槽的经验吗?你有什么建议?是否有更适合信号/插槽的解决方案?
查莉
发布于 2012-01-11 13:29:03
我一直使用序列图,因为我找到了显示对象之间流传输的“生命线”系统,这是一种与信号/插槽模式相适应的自然方式。链接到上面的维基百科文章的引文:
序列图以平行线(生命线)的形式显示同时存在的不同进程或对象,并以水平箭头的形式显示它们之间按发生顺序交换的消息。这允许以图形方式指定简单的运行时场景。
似乎同意这一观点,而且很容易读懂。
至于调用时隙的顺序,Qt文档澄清这一点
如果多个时隙被连接到一个信号上,则当信号发出时,这些时隙将按其已连接的顺序依次执行。
时间是一个相对的术语,可以用来指代你想要的任何东西:只要你对你正在交流的内容保持一致和清晰,就没有人会介意。
发布于 2021-11-24 19:54:11
在一个简单的类图中,您需要记录类(或接口)和信号之间的关系:
«signal»的分类器符号的«signal»。它可能具有用与消息内容相对应的属性表示的参数。«send»依赖来表示的。«signal»,并将其命名为信号,其属性出现在其参数列表中。接待处可以在单独的隔间中可视地分开。这对应于Qt槽在活动图中(从UML的角度看,它比“流程图”更好,因为流程图不是UML的,也不是标准化的),您可以指定信号的动态:
最后,这种建模的优点是,您可以使用信号作为状态图中的事件,并以非常简单的、独立于实现的抽象方式来表达相当复杂的事情。
https://stackoverflow.com/questions/8816310
复制相似问题