MVP: Presenter角色的问题

3

我不完全确定MVP模式中Presenter和Model的角色。据我所知,Presenter持有对Model和View的引用,观察它们,并将Model的更改通知给View,反之亦然。

但是,Presenter是否只有这些功能呢?例如,用户输入的验证代码是否应该在Presenter中?

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


相关:https://dev59.com/jXVC5IYBdhLWcg3wrDJd - Alexandre C.
1个回答

3

正确的,Presenter 持有 View 和 Model 的引用,并负责创建它们并在它们之间进行调停(具体程度取决于使用的特定模式)。

Presenter 包含 UI 业务逻辑,例如点击保存按钮:

  • UI 向 Presenter 发出保存请求信号
  • Presenter 保存 Model

MVP 三位一体中,Model 的职责就是为该视图保存信息。它可能是专门为此目的设计的类,也可能是来自您领域模型的类。

验证取决于您的情况。在简单的应用程序中,Presenter 可能是正确的位置,但这可能会导致代码重复。领域模型是更中心的位置,但可能需要更多的管道来与您的 Presenter/View 进行通信。

希望这可以帮到您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接