我正在使用C#中的Reactive框架,如果使用应用程序范围的观察者(Singleton Message Bus)是值得的,我很好奇吗?在应用程序的隔离部分,它就像一个魅力,但我很好奇,如果有人有任何尖叫的智慧,“不!你想到的是什么!”
技术输入以及理论模式知识非常受欢迎!
答案 0 :(得分:3)
我在一个旧的C / C ++应用程序中使用了这样的方法。它的优点是可以解耦模块,但根据我的经验,它很快就会在更大的应用程序中导致很多问题:
我的结论是全局消息总线对于小型应用程序来说是一个好主意,但对于大型应用程序则不是。通过使用一个全局消息总线来解耦所有模块,您可以有效地实现相反的目标,因为现在每个人都与其他人相关联,从长远来看,再次解开您的应用程序会更加困难。
我建议尽可能使每个模块都独立,并使用专门的观察者(见Gang of Four的观察者模式)。
答案 1 :(得分:1)
这种模式被广泛用于减少应用程序组件之间的联系。我在我的一些项目中使用它,它非常舒适和有用。 我一般都在谈论模式,我不知道它是如何在Reactive框架中实现的。