在两个对象之间发送消息

Sending a message between 2 objects

本文关键字:之间 消息 对象 两个      更新时间:2023-10-16

我有两个对象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