我正在GWT中创建一个类似MVP的应用程序.
- 有多个面板,每个面板始终可见.
- 每个面板都有一个Presenter,并且有一个AppController位于所有Presenters之上.
- 在一个Presenter中会出现一些应用程序级事件,但会对其他演示者产生影响.
- 建议的体系结构似乎涉及事件总线.但是,我不确定我是否看到了更简单的优势.
- 特别是,简单地允许AppController(并且只有AppController)订阅来自任何Presenter的事件会不会更清晰?然后,AppController可以告诉每个Presenter在给定事件的情况下该做什么.
- "事件总线"似乎是一个准全局变量.但是,如果你能用更精确定义的方法(即AppController在每个Presenter上调用的方法)完成同样的事情,那不是更好吗?
更准确地说明我的担忧:为什么要引入一个事件总线,而不是简单地让事件"冒泡"到适当的决策层?对我而言,这似乎是MVP概念最直接的扩展,并且它不需要事件总线的新概念.我不明白事件总线引入了什么问题来解决.