关于一个复杂程序里个部件的通信问题
加盾男爵 2018-07-16 10:53:58 现在有个程序,该程序需要和外部进行通信。然后外部设备会发送各自消息,程序接收到消息后进行分析并根据消息的不同来操作程序。
然后现在的问题是,程序比较复杂,然后设备接收到消息的需要发给程序的各个部件,比如程序有个QDialog,里面包含了一个QTableView用于显示设备的列表,而QTableView则用QAbstractTableModel处理数据(一个很普通的MVC结构),这个MVC结构还包含了几个委托类处理数据的各自问题。。。。
这里通过委托在QTableView上设置了一个按钮,是的用户可以点击按钮来控制设备的启动与停止,要打到这个功能,用户点击按钮后委托通知模型,模型想设备发送一个消息,然后设备启动后应答一个消息,程序收到应道后通知QDialog,然后QDialog调用模型/视图的各个函数更改视图表格的显示与数据。。。。
简单的说,每一个消息的处理,都需要做大量的处理,而消息的目的地的部件结构越深,处理就约麻烦
目前发送消息比较简单,我建了一个静态函数(其实是一个特殊处理的类),然后不管哪个部件(类)需要发送消息,只要调用下这个静态函数就OK了,单接收消息就显得复杂无比。。。
对于这样的情况,有没有比较好的解决方案?