_DCG_ 2023-02-08 17:58 采纳率: 0%
浏览 18

基于qt c++的通信解耦问题

在开发qt项目时,遇到对象间通信耦合的问题。试图搭建一个框架,该框架目的是将对象间通信完全解耦(不考虑使用)。
通信对象:多个页面对象、通信模块
通信种类:页面对象发给其他页面对象(可能是一对一,也可能是一对多)、页面对象接收通信模块的数据(可能是1对多或者1对1),页面对象发送到通信模块的数据
想法:通过中介者的方式进行通信,即增加一个中间模块,由该模块完成不同对象之间的数据传递。将该中间模块视为框架的一部分,所有的通信都将通过这个中间模块或者对象来完成,目前考虑的是采用自定义事件的方式来完成数据传递。
问题:
1、通过我目前的知识水平来看,对象1发送某个自定义事件给对象2后,对象2收到后无法在通过postevent的方式发送给对象3,所以对象2收到自定义时候只能通过接口调用或者函数调用的方式将自定义事件发送给对象3.请问这个理解对不对?
2、基于第1点的结论,根据上面描述的通信类型,页面对象发送给其他页面对象这种场景应该是可行的;但是通信模块发送给1个或者多个页面对象的情况下,如何实现通信数据到不同的自定义事件的转换呢?(消息区分根据消息标识,不同的消息标识对应不同的自定义事件)
3、如果不采用自定义事件的方式,有什么方式可以实现上述方式的解耦吗?(不考虑使用信号槽,因为也是松散耦合的,也是需要知道接收对象指针的)

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-02-08 20:42
    关注
    评论

报告相同问题?

问题事件

  • 创建了问题 2月8日

悬赏问题

  • ¥15 matlab中mjs用不了
  • ¥15 Ios抖音直播的时候如何添加自定义图片在直播间!
  • ¥60 riscv-pulpino总线上挂载axi从机
  • ¥15 ssh登录页面的问题
  • ¥50 关于在matlab上对曲柄摇杆机构上一点的运动学仿真
  • ¥15 jetson nano
  • ¥15 :app:debugCompileClasspath'.
  • ¥15 windows c++内嵌qt出现数据转换问题。
  • ¥15 stm32 串口通讯过程中的问题
  • ¥20 公众号如何实现点击超链接后自动发送文字