gpt4 book ai didi

c# - Presenter 是否在 MVP 模式中执行 GUI 逻辑?

转载 作者:可可西里 更新时间:2023-11-01 09:12:02 25 4
gpt4 key购买 nike

我们正在使用 MVP 模式,我想知道如何处理 GUI 操作。

例如,当用户想要从网格中删除一行时,用户按下删除按钮。此时你可以做两件事:

1) 调用 _presenter.DeleteRow(),然后演示者调用 _view.SelectedRow。然后演示者调用 view.AskUserForConfirmation(),当它返回 DialogResult.OK 时,演示者实际上删除了底层对象并刷新了网格。

2) 表单要求用户确认,当 DialogResultOK 时,调用 presenter.Delete(myObject)presenter.Delete() 被调用,在 Delete 方法中通过调用 _view.SelectedRow 检索对象。

您如何处理这些情况?

最佳答案

MVP 模式应该将您的逻辑、 View 和数据访问分开。因此,当试图决定某件事情应该去哪里时,问问自己在你试图做的事情中是否有实际的业务逻辑。

您是否希望您的业务层具有显示弹出窗口的逻辑?可能不会。这只是一条确认消息。您可能希望有一个帮助程序类来生成您的程式化弹出窗口,但它与您的 Presenter 层是分开的。

关于c# - Presenter 是否在 MVP 模式中执行 GUI 逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9162581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com