我有对象A和B需要相互发送和接收消息。
例如:
我点击,这会导致A向B发送消息.B用它做某事然后发送另一条消息作为回复。
现在我的方式是, A有一个B *,B有一个A *,它们互相调用sendMessageTo方法进行通信。
有没有更好的方法来做这类事情?
基本上,服务器发送消息或本地游戏发送多态调解器所接收的消息。调解器从服务器或本地游戏获取消息。调解员将其传递给客户端,客户端对其执行任何操作。我们的想法是,调解员不应该为客户端做逻辑,因此传递消息。
答案 0 :(得分:3)
我认为你需要实现Listener / Observer模式。 来自维基百科:
观察者模式(发布/订阅模式的一个子集)是一种软件设计模式,其中一个称为主体的对象维护其依赖项列表,称为观察者,并自动通知它们任何状态更改,通常通过调用他们的方法之一。它主要用于实现分布式事件处理系统。
更多参考:
http://en.wikipedia.org/wiki/Observer_pattern