MVP:关于Presenter角色的问题

时间:2012-03-29 18:07:30

标签: design-patterns mvp

我不能100%确定Presenter与模型在MVP模式中的作用。根据我的理解,Presenter包含对模型和视图的引用,观察它们,并将模型中的更改传递给视图,反之亦然。

但Presenter的“全部”是什么?例如,用户输入的验证代码应该在Presenter中吗?

然后是对话问题。它们应该有自己的Presenter还是应该使用其底层窗口的Presenter?

1 个答案:

答案 0 :(得分:3)

正确,演示者持有对视图和模型的引用,并负责创建它们并在它们之间进行调解(其范围取决于所使用的特定模式)

演示者包含UI业务逻辑,例如单击保存按钮

  • ui告知演示者要求保存
  • 演示者保存模型。

MVP三元组中的模型职责就是保存此视图的信息。它可能是一个专门用于此目的的类或来自您的域模型的类。

验证取决于您的具体情况。在一个简单的应用程序中,演示者可能是正确的位置,但这可能导致代码重复。域模型是更中心的位置,但可能意味着更多的管道使它与您的演示者/视图对话。

希望有所帮助