我有一组嵌套的视图如下:

每个视图都有一个演示者,其中:
MainViewPresenter不了解视图或视图演示程序ViewA或ViewB。ViewA和ViewB分别由各自的主持人管理,然后由SplitViewPresenter管理。我有一些事件将发生在ViewA中,ViewAPresenter将订阅这些事件。SplitViewPresenter可以订阅子演示者的活动,然后将其泡到MainViewPresenter上。但是,这似乎是一种可怕的浪费努力,仅仅是鼓起一个按钮点击从ViewA。
似乎应该有一种方法将一些事件侦听器从MainViewPresenter耦合到ViewA.OnButtonClick。
在这种情况下,MainViewPresenter对其他演示者显示的内容没有预见性,观察者/可观察的模式似乎不合适。或者可能有一个使用反应性的实现可以工作(注:.Net 4.0 )
是否应该由一名代表来做?我知道ViewA上的每个事件订阅都可能需要一个不同的委托,这很好。在这个特定的实例中,按钮单击将执行需要执行的操作:
ViewA创建的新模型添加到MainView中的树视图中发布于 2013-10-11 05:25:34
我意识到MainView中的树视图有一个树节点集合。此集合已引发订阅了CollectionChanged的MainViewPresenter事件。
ViewAPresenter对此集合有一个引用,并简单地将保存的模型添加到集合中。反过来,通知MainViewPresenter并添加适当的节点。
https://stackoverflow.com/questions/19304173
复制相似问题