0

在遵循 MVP 或 MVC 设计模式(适用于任何一种)时遇到问题。我不知道如何从模型层清晰地提示用户输入?根据模型中的某些值,我可能需要在过程中间提示用户输入。

例如,我们将假设一个 PO 输入流程。假设用户点击视图中的按钮后,它会调用演示者从视图中传递 PO 详细信息。演示者然后调用模型来验证新 PO 并将其插入到 PO 集合中。模型中的一项验证检查是确保尚未输入具有相同项目的另一个采购订单。如果有,应用程序需要提示用户确认 PO 不是重复的。该应用程序目前已深入模型。如何一直返回视图以检索操作员输入,然后返回到模型代码停止的位置以完成 PO 输入过程?

4

2 回答 2

0

您可能希望查看模型与 UI 模式的其他组件之间的某种形式的通知交互。

Martin Fowler在这里写过它。

至于深入模型,获取用户输入,然后返回模型:不要。您的控制器负责修改您的模型,并应在尝试更改模型之前进行验证。这可能需要将您的验证与更新代码分开。

于 2009-06-17T04:59:47.833 回答
0

我首先阅读的一篇关于 Presenter的论文中,有人建议 Presenter 依赖于模型和视图,并订阅了来自模型和视图的事件。
这意味着您可以在处理无法继续时从模型中引发事件。演示者将通过调用视图上的某些方法(这将提示用户)来处理来自模型的事件。然后模型上方法的返回值将返回给模型(事件的输入/输出参数,如 .NET 使用的 EventArguments 子类)。

于 2009-06-17T00:43:41.133 回答