事件驱动的消息路由和隐藏实现

本文关键字:隐藏 实现 路由 消息 事件驱动的 | 更新日期: 2023-09-27 17:50:58

我需要在我的程序周围发送消息到不同的类库。所以我认为实现这个的方法是有一个消息路由器类,所有不同的库都订阅这个类,所有的消息都通过这个路由器。

要发送消息,消息路由器正在侦听的发送方异步引发事件。我已经把消息发送给了消息路由器。然后,消息路由器异步地在接收者上引发另一个事件。

a)这样做是正确的吗?

b)我如何隐藏实现,使类只有一个MessageReceived(string message)SendMessage(string message)方法。

现在我可以创建一个抽象类,但要"隐藏"事件的实现,我必须实现我试图避免的添加和删除。如果这是唯一的方法,我如何实现在一个线程安全的方式添加/删除?

事件驱动的消息路由和隐藏实现

这听起来有点像事件聚合器。事件聚合器实现示例/最佳实践