java – GWT EventBus中的大事件列表
在Google Web工具包提供的示例中,他们仅在整个应用程序的一个类中添加事件处理程序.
在 – 对于Module1,2和3中,所有事件都在主AppController类中注册.我觉得这有点单片,当我们使用MVP模式时,我们会在每个Presenters中声明一个名为bind()的方法,如下所示: public class MyTestPresenter implements Presenter{ private void bind() { TestEvent.eventBus.addHandler(TestEvent.Type,new TestEventHandlerImpl() ) } } public class TestEvent { public static SimpleEventBus eventBus = new SimpleEventBus() } 查询是: >如果我们的应用程序非常庞大 – 我们将使用一个事件总线来填充其中的一千多个事件 – 或者我们是否会以这样的方式设计我们为每个模块分别设置事件总线实例? 解决方法
其实我也不喜欢GWT中的事件总线实现.我以前问过smt
about.
现在我开发了一些桌面应用程序,然后以下一种方式设计eventBus. public interface EventBus { void fireEvent(Event event); <T extends Event> void addHandler(Class<T> eventType,Handler<T> handler); interface Event { } interface Handler<E extends Event> { void handle(E event); } } 因此,在通常的Java应用程序中,我会以其他方式设计它,但在这里我们应该处理与javascript相关的问题等等.
我也在考虑这个问题.我发现没有任何真正的优势.对于模块化,您可以分离事件的可见性.而且有一些缺点.假设你应该在同一个类中处理几个eventBusses – 代码将是混乱的.除此之外,你应该以某种方式将这些实例映射到类.
你可以做到这两点.在新的Activity-Place框架中,它作为参数传递.
活动就像你的老主持人,但没有低级视图绑定.就像用于指定窗口的历史记录条目一样. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |