摘要: 使用通用的消息传递方式传递数据在C++程序中很普遍。这种技术经常用于在线程间以及从/到GUI组件间传递数据。但是消息传递仍然很难实现得良好,这是因为在常见的消息传递方式中,暴露出了过多的藕合、缺少类型安全和集成电路般的消息处理函数。
在本文中,我提出了一种技术,这种技术利用C++的强大力量来避免上述缺陷——在消息传递中避免不适当的藕合,维护类型安全,以及消除集成电路般的消息处理函。( The only translation units that need to known the details of a message are those containning the source and handler functions for that specific message type.) 需要转换的单元,即需要知道的消息详细内容是包含了特定消息的类型的源代码和处理函数。
阅读全文