【问题标题】:Multiple MVP presenters: How to communicate and share information?多个 MVP 演示者:如何沟通和共享信息?
【发布时间】:2011-07-13 03:00:06
【问题描述】:

我正在按照 MVP 模式设计一个 Winforms MDI 应用程序,但我遇到了一些与我的应用程序不同部分之间的通信相关的问题。

这是此应用程序的简单图片: 1 - 左侧是树视图 2-中间有一个绘图组件 3-在右边,一个“财产”表格。 这 3 个部分由 MVP 三元组管理(好吧,不是真的,模型对所有三元组都是通用的)

当我点击树视图上的一个节点时,我想在绘图组件中看到对应选定对象的绘图,我想在属性表单中看到这个选定对象对应的一些属性。

我的基本问题是: a) 在哪里存储“选定对象”信息? b) 如何警告“选定对象”已更改的绘图组件和属性表单?

我开始想一些解决方案,但我很不高兴。

我不赞成将“选定对象”放入模型中并执行观察者同步。 “选定对象”不属于模型

所以我想,我会将这些信息存储在演示者中 如果我在 Treeview Presenter 中放置“选定对象”,在我看来,绘图组件的 Presenter 和 Property 表单的 Presenter 都必须在 Treeview Presenter 上保存一个引用,才能检索此信息。

它在演示者之间产生了一些耦合,我也不喜欢。

所以我正在寻找其他想法和/或 cmets。感谢您的宝贵时间。

【问题讨论】:

    标签: winforms mvp presenter


    【解决方案1】:

    首先,很抱歉回复晚了 :) 有很多事情要完成 :D

    我不知道您的代码是如何构建的,但您可能可以使用Retlang。然后,您可以轻松地在消息中传递 ID 列表,并在任何您喜欢的地方处理此消息。

    另外,我很想听听您在一年前是如何解决问题的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      相关资源
      最近更新 更多