事件 – 事件总线与GWT中的HandlerManager?

当我使用一个GWT项目时,我使用MVP模式和HandlerManager通过事件在应用程序上进行通信.现在我正在我的项目上实施历史Machanisam.
他们(GWT tearm)使用Class EventBus来管理事件.

当阅读一些博客我foud HandlerManger用于Widgets和EventBus进行其他应用程序范围的通信.

但我觉得他们两个都有相同的功能,那么这两个实现的目的是什么,或者它们之间的区别是什么.

请帮我

HandlerManager是EventBus的祖先,它是从(从中分解出来的)中提取出来的.

主要区别在于HandlerManager有一个源它会对发送给它的事件强制执行,而EventBus可以调度没有源(fireEvent)或给定动态源(fireEventFromSource)的事件.然后,您可以将处理程序附加到EventBus,该处理程序仅针对来自给定源的事件触发.

在窗口小部件中,您希望强制事件源是窗口小部件.对于全局应用程序范围的事件总线,您可能不需要任何源,或者根据需要为每个事件动态设置源(RequestFactory将其用于其EntityProxyChange事件,因此您只能侦听与给定类型的EntityProxy相关的事件)

注意:HandlerManager的javadoc不鼓励将其用于应用程序范围的事件总线.

相关文章
相关标签/搜索