我有一组嵌套的视图,如下所示:
每个视图都有一个 Presenter,其中:
MainViewPresenter
不了解观点或观点演示者,ViewA
或ViewB
ViewA
并由ViewB
各自的演示者单独管理,然后由SplitViewPresenter
我有将ViewA
要ViewAPresenter
订阅的事件。SplitViewPresenter
可以订阅子演示者的事件,然后将这些事件冒泡到MainViewPresenter
. 但这似乎是一种可怕的浪费努力,仅仅是从ViewA
.
似乎应该有一种方法可以将一些事件侦听器从 to 耦合MainViewPresenter
起来ViewA.OnButtonClick
。
在这种情况下,如果MainViewPresenter
没有预知其他演示者显示的内容,则观察者/可观察模式似乎不合适。或者也许有一个使用 Reactive 的实现可以工作(注意:.Net 4.0 然而)
代表会是要走的路吗?我知道每个事件订阅ViewA
可能需要一个不同的委托,这很好。在此特定实例中,按钮单击将具有需要执行的操作:
- 用新信息更新数据库
- 将创建的新模型添加
ViewA
到树视图中MainView