带有QT的c++ MessageQ包装器
Wrapper for MessageQ C++ with QT
我有一个关于现有MQ解释的小问题。问题是,在程序的每个部分中,我们必须查询正在发送/接收的消息属于哪种类型,从而导致每个组件的大量切换场景。必须相应地处理每种类型的消息(更新GUI进度条、更新特定文件、从查询发生的地方连接特定信号等等)。
将其移动到单个组件中的最佳方法是什么?
现在它使用工厂方法来创建每个需要的对象,就像我之前说的缺点是,您必须询问创建什么类型的对象来实现所需的逻辑=>大开关。
您可以轻松地发送要执行的代码块,而不是要处理的消息id (switch语句),例如lambda对象。然后,您可以只执行"slot"中的代码块,而不检查和响应消息id。
相关文章:
- 如何在c++17中制作一个模板包装器/装饰器
- std::vector的包装器,使数组的结构看起来像结构的数组
- 如何在c++迭代器类型中包装std::chrono
- 是否可以用"iostream"包装现有的TCP/OOpenSSL会话
- 用pybind11包装C++抽象类时出错
- 为左值和右值的包装器实现C++范围
- C结构,其指针将被包装在unique_ptr中
- 如何包装第三方DLL在R中使用
- 在类型和包装器之间reinterpret_cast是否安全<Type>?
- 将 N-arg 函数包装到另一个函数中
- 元组由 Swig 生成的 Python 包装器返回,用于C++向量
- 包装一个对象并假装它是一个 int
- 使用 Python Extension API 包装复杂C++类
- 外壳包装器句柄/执行交互式命令管道C++ UNIX
- 包装C++类时不完整的类型 GLFWwindow
- 将函数包装器转换为 std::function
- C++函数包装器来捕获某些信号
- 创建包装升压适配器的自定义范围类
- 如何包装(撰写)增强 hana 地图并访问括号运算符(运算符 [])?
- 带有QT的c++ MessageQ包装器