我不完全确定MVP模式中Presenter和Model的角色。据我所知,Presenter持有对Model和View的引用,观察它们,并将Model的更改通知给View,反之亦然。
但是,Presenter是否只有这些功能呢?例如,用户输入的验证代码是否应该在Presenter中?
还有一个问题是对话框。它们应该有自己的Presenter,还是应该使用其底层窗口的Presenter?
我不完全确定MVP模式中Presenter和Model的角色。据我所知,Presenter持有对Model和View的引用,观察它们,并将Model的更改通知给View,反之亦然。
但是,Presenter是否只有这些功能呢?例如,用户输入的验证代码是否应该在Presenter中?
还有一个问题是对话框。它们应该有自己的Presenter,还是应该使用其底层窗口的Presenter?
正确的,Presenter 持有 View 和 Model 的引用,并负责创建它们并在它们之间进行调停(具体程度取决于使用的特定模式)。
Presenter 包含 UI 业务逻辑,例如点击保存按钮:
MVP 三位一体中,Model 的职责就是为该视图保存信息。它可能是专门为此目的设计的类,也可能是来自您领域模型的类。
验证取决于您的情况。在简单的应用程序中,Presenter 可能是正确的位置,但这可能会导致代码重复。领域模型是更中心的位置,但可能需要更多的管道来与您的 Presenter/View 进行通信。
希望这可以帮到您。