- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我处理一个 GWT 项目时,我使用 MVP 模式
和 HandlerManager
通过事件在应用程序上进行通信。现在我正在我的项目中实现 History Machanisam。他们(GWT team)使用类 EventBus
来管理事件。
当阅读一些博客时,我发现 HandlerManger
用于 Widgets
和 EventBus
用于其他应用程序范围的通信。
但是我觉得它们都有相同的功能,那么这两个实现的目的是什么,或者它们之间有什么区别。
请帮助我
最佳答案
HandlerManager
是 EventBus
的祖先,它是从中提取(分解出来)的。
主要区别在于,HandlerManager
有一个源,它对分派(dispatch)给它的事件强制执行,而 EventBus
可以分派(dispatch)事件没有源 (fireEvent
) 或具有给定的动态源 (fireEventFromSource
)。然后,您可以将处理程序附加到仅针对来自给定源的事件触发的 EventBus
。
在小部件内,您希望强制事件源是小部件。对于全局应用程序范围的事件总线,您要么不需要源,要么根据需要为每个事件动态设置源(RequestFactory
将其用于其 EntityProxyChange
事件,以便您可以仅监听与给定类型的 EntityProxy
相关的事件)
注意:HandlerManager
的 javadoc 不鼓励将其用于应用程序范围的事件总线。
关于events - GWT 中的事件总线与 HandlerManager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19154499/
当我处理一个 GWT 项目时,我使用 MVP 模式 和 HandlerManager 通过事件在应用程序上进行通信。现在我正在我的项目中实现 History Machanisam。他们(GWT tea
我正在使用 GWT MVP 来开发应用程序。我看到 GWT MVP 代码中可以有两种事件处理程序,但我不太确定应该在哪个地方使用哪种事件处理程序: 1) AppController 中的 Handle
我是一名优秀的程序员,十分优秀!