在两个对象之间发送消息
Sending a message between 2 objects
我有两个对象A和B,它们需要互相发送和接收消息。
例如:我点击,这导致A发送一条消息给B。B做了一些事情,然后发送另一条消息作为回复。
现在我的方法是,A有一个B*, B有一个A*,它们调用彼此的sendMessageTo方法进行通信。
有更好的方法来做这类事情吗?
基本上,服务器发送消息或本地游戏发送消息,多态中介接收该消息。中介从服务器或本地游戏获取消息。调解员将其传递给客户,客户对其进行处理。这个想法是,中介不应该为客户端执行逻辑,因此消息传递。我认为你需要实现侦听器/观察者模式。从维基百科:
观察者模式(发布/订阅模式的一个子集)是一种软件设计模式,在这种模式中,称为主题的对象维护其称为观察者的依赖项列表,并自动通知它们任何状态更改,通常是通过调用它们的一个方法。它主要用于实现分布式事件处理系统。
查看更多ref:
http://en.wikipedia.org/wiki/Observer_pattern http://www.codeproject.com/KB/cpp/CppEvents.aspx http://www.codeproject.com/KB/architecture/observer.aspx相关文章:
- GCC 警告和 gcc 错误消息之间的区别
- 在 2 个并行运行的脚本(python 和 C++)之间传递消息
- 如何使用标准库网络 TS 在服务器和客户端之间发送消息C++
- 在两个进程之间传递消息
- 如何在两个类之间发送/接收消息
- 未定义的行为和格式错误之间的区别,不需要诊断消息
- msgpack:C++和Java之间的消息传递
- C++ - 在进程之间发送消息
- 是否有任何消息总是出现在WM_LBUTTONDOWN和WM_LBUTTNUP之间
- 增强ASIO和线程之间的消息传递
- 消息在网络上的两台机器之间传递
- 如何使用两个管道在子级/父级之间发送消息
- 在到应用程序之间的消息中重复WaitForSingleObject
- 在 MFC 对话框和自己的线程上的 OpenGL 控件之间传递消息
- ZeroMQ 在节点之间创建消息缓冲区
- 使用命令文件在线程之间传递消息
- 使用互斥对象与消息在线程之间共享信息
- 在C++actors框架中在类型化参与者之间转发消息的最佳实践
- 进程之间的Windows CE集中式消息队列
- HOWTO:使用Boost::asio在线程之间发布消息