拥有全球活动巴士的注意事项是什么?

时间:2012-07-24 08:16:16

标签: java events

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

1 个答案:

答案 0 :(得分:4)

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

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

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

通过使用依赖注入(通过像guice这样的框架或手动滚动),您可以自动提供代理状态,从而明确依赖于事件总线。