java - 使用全局事件总线有哪些注意事项?

标签 java events

在您的应用程序中使用全局事件总线是一种糟糕的设计吗?
如何确保您最终不会在整个应用程序中出现相互通信的一组紧密耦合的组件?
您能想到 Java 世界中的一种机制/工具/库来强制执行某些规则吗?

最佳答案

全局事件总线(即应用程序中每个组件(类或对象)均可访问的事件总线)的问题在于,您无法控制谁将使用事件总线。

如果您是唯一的开发人员或正在与紧密联系的团队合作,则可以就组件可以使用事件总线的条件达成一致。否则所有条都关闭。

话虽如此,应该有可能与事件总线通信,否则没有意义。通过为负责实际触发事件的事件总线引入代理,您可以控制谁依赖代理。

通过使用依赖注入(inject)(通过类似 guice 的框架或手动),您可以自动提供代理状态,使对事件总线的依赖显式化。

关于java - 使用全局事件总线有哪些注意事项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11626806/

相关文章:

带有 Tomcat 8.0.5 的 JavaMelody 1.52.0 - 未找到监控

Java 不一致的继承机制?

java - 如何让Android应用程序保持活力

javascript - 如何使用 jquery 操作动态创建的元素?

linux - 在 Linux 中,我正在寻找一种方法,让一个进程通过阻塞向另一个进程发出信号

javascript - GMail "Loading..."横幅是如何工作的?

java - IntelliJ - 在 lib 目录中包含 pom.xml 依赖项

Java:创建多线程阅读器

javascript - setTimeout 在控制台上的随机行为。如何按顺序获取计数以及此行为的原因?

events - PerfView 无法捕获自定义 ETW 事件