作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可以使用事件总线来解耦所有应用程序层吗?我正在尝试使用整洁的架构。通常解耦是由边界接口(interface)完成的,我已经看到一些使用 RX 观察器的例子。问题是我可以使用事件总线来解耦层吗?事件总线可以处理这样的工作吗?
最佳答案
事件总线非常适合横切 Activity ,因此如果不需要,您无需通过中间层来传递事件。
对于整洁/洋葱/多层架构,您不需要事件总线,但需要清晰的层间契约,即边界接口(interface)。他们可能使用也可能不使用 RX。
你可以在没有任何接口(interface)的情况下使用事件总线完全解耦模块,然后所有组件都将被极度解耦,但是调试、维护和做任何有意义的事情都会变得非常困难:)所以某种契约是即使在使用事件总线时也是个好主意。
结合响应式编程和事件总线,您可以创建高度解耦的事件驱动的 pico 服务,这些服务受事件总线周围某些契约的约束,以提高事件/命令/数据流的清晰度。
我个人正在使用并致力于 RxHub这正是出于传递横切事件和简单的数据流运算符链接的需要而诞生的。
关于android - 使用事件总线解耦 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39526239/
我是一名优秀的程序员,十分优秀!