【发布时间】:2012-04-23 08:05:06
【问题描述】:
我有一个关于在 Windows.Forms 应用程序中实现 MVP 模式的问题。 我有一个用户控件,它用于 2 种不同的形式。
基本上,应该在哪里声明演示者(并且我应该为每个表单有 2 个不同的演示者,而不是一个用于用户控件的演示者,它能够区分自己采取什么样的行为,具体取决于使用的表单它) - 在用户控件或使用它的表单后面的代码中?行为(保存和填充用户控件字段的逻辑)完全不同。
谢谢!
【问题讨论】:
我有一个关于在 Windows.Forms 应用程序中实现 MVP 模式的问题。 我有一个用户控件,它用于 2 种不同的形式。
基本上,应该在哪里声明演示者(并且我应该为每个表单有 2 个不同的演示者,而不是一个用于用户控件的演示者,它能够区分自己采取什么样的行为,具体取决于使用的表单它) - 在用户控件或使用它的表单后面的代码中?行为(保存和填充用户控件字段的逻辑)完全不同。
谢谢!
【问题讨论】:
一个演示文稿可以有多个视图。例如树视图或列表视图或其他任何内容中的目录和文件列表。
这样一个Presenter就可以满足多个View的需求。
View 可以有额外的逻辑来展示(转换为相关 UI)Presenter 提供的信息。
每个 View 都可以私下实例化 Presenter。另外,由于两个视图是同一演示文稿的不同 UI 表示形式,因此应该将它们提取到一个通用接口(IXXXView)中,然后再传递给 Presenter。
imo,被动视图非常严格地将数据转换为可以连接到 UI 的原始数据类型,使用监督视图将提供更大的灵活性。
【讨论】: