我们将应用程序范围的 eventBus 注入到我们的 Cells(扩展 AbstractCell 的类)中。我们认为触发将由其他演示者处理的事件而不是使用 ValueUpdater 会更舒适。任何优点/缺点?
问问题
330 次
1 回答
1
我喜欢ValueUpdater
s 服务于一个非常特定的目的 - 更新单元格已更改的值。这是大多数可编辑单元格建立的基本合同,而超载它的按钮/动作单元格让我很恼火。
也就是说,使用全局事件总线可能太过分了。一些中间选项:
- 每个列/单元格的 EventBus 实例(实际上是一样的),因此如果需要,事件可以非常本地化,或者可以在更高级别上收听和重新广播。这种方法的主要好处之一是您的单元格可能是可重用的,将它们的 api 公开为供不同用例使用的事件
- 仅针对该视图/演示者的本地事件总线,在必要时再次将应用程序范围的事件提升到全局演示者。与第一个选项相比,可重用性较低,但通常代码不需要可重用。
我不喜欢我的全局事件总线变得过于垃圾,部分是为了让调试更容易,部分是为了如果给定的视图/演示者在使用事件方面效率低下,不要太担心,因为这不会影响其余部分应用程序。有机会先构建,然后再优化。
于 2012-04-11T23:10:01.867 回答