GWT:使用EventBus和Cells的优点和缺点

时间:2012-04-11 17:43:59

标签: events gwt

我们将我们的应用程序范围的eventBus注入我们的Cell(扩展AbstractCell的类)。 我们认为触发将由其他演示者处理而不是使用ValueUpdater的事件更加容易。 任何利弊?

1 个答案:

答案 0 :(得分:1)

我喜欢ValueUpdater用于非常特定的目的 - 更新单元格已更改的值。这是大多数可编辑单元格建立的基本合约,超载它的按钮/动作单元会让我烦恼。

也就是说,使用全球事件总线可能会走得太远。一些中间选项:

  • 每列/单元格的EventBus实例(实际上是相同的),因此如果需要,事件可以是非常本地的,或者可以在更高级别上收听和重新广播。这种方法的主要好处之一是您的单元格可能是可重用的,将其api暴露为不同用例的事件以供消费
  • 仅用于该视图/演示者的本地事件总线,在必要时再次将应用程序范围的事件提升到全局演示者。比第一个选项更少可重用,但通常代码不需要重复使用。

我不喜欢我的全局事件总线过于垃圾,部分原因是为了使调试更容易,如果给定的视图/演示者在使用事件时效率低下,部分不必过于担心,因为这不会影响应用程序的其余部分。有机会先建立,然后再进行优化。