当我使用一个 GWT 项目时,我正在使用MVP pattern
并HandlerManager
通过事件在应用程序上进行通信。现在正在我的项目中实施 History Machanisam。他们(GWT tearm)使用 ClassEventBus
来管理事件。
当阅读一些博客时,我发现HandlerManger
用于Widgets
和EventBus
其他应用程序范围的通信。
但是我觉得它们都有相同的功能,那么这两个实现的目的是什么,或者它们之间有什么区别。
请帮我
当我使用一个 GWT 项目时,我正在使用MVP pattern
并HandlerManager
通过事件在应用程序上进行通信。现在正在我的项目中实施 History Machanisam。他们(GWT tearm)使用 ClassEventBus
来管理事件。
当阅读一些博客时,我发现HandlerManger
用于Widgets
和EventBus
其他应用程序范围的通信。
但是我觉得它们都有相同的功能,那么这两个实现的目的是什么,或者它们之间有什么区别。
请帮我
HandlerManager
是 的祖先,EventBus
从它中提取(分解出来)。
主要区别在于,aHandlerManager
有一个源,它对被分派给它的事件强制执行,而EventBus
可以在没有源 ( fireEvent
) 或给定动态源 ( fireEventFromSource
) 的情况下分派事件。然后,您可以将处理程序附加到EventBus
仅针对来自给定源的事件触发的处理程序。
在小部件中,您希望强制事件源是小部件。对于全局应用程序范围的事件总线,您要么不想要源,要么根据需要为每个事件动态RequestFactory
设置源(将其用于其EntityProxyChange
事件,因此您只能监听与给定类型相关的事件EntityProxy
)
注意:javadocHandlerManager
不鼓励将它用于应用程序范围的事件总线。