我可以使用事件总线来解耦所有应用程序层吗?我试图使用干净的架构。通常,通过边界接口进行去耦,我已经看到了使用RX观察器的一些示例。问题是我可以使用事件总线来解耦图层吗?事件总线可以处理这样的工作吗?
答案 0 :(得分:1)
活动巴士非常适合交叉活动,因此如果您不需要,您不需要通过中间层来举办活动。
对于清洁/洋葱/多层架构,您不需要事件总线,但层之间有明确的合同,即边界接口。他们可能会也可能不会使用RX。
你可以在没有任何接口的情况总线上使用事件总线完全解耦模块,然后所有组件将非常分离,但是它将成为一个地狱调试,维护和超级难以做任何有意义的事情:)所以某种合同是即使使用Event Bus也总是一个好主意。
结合反应式编程和事件总线,您可以创建高度去耦的事件驱动的微微服务,这些服务受到事件总线周围的一些契约的限制,以提高事件/命令/数据流的清晰度。
我个人正在使用和工作RxHub,这完全取决于传递跨领域事件和简单的数据流操作员链接的需要。