我们正在使用MVP模式,我想知道如何处理GUI操作.
例如,当用户想要从网格中删除一行时,用户按下删除按钮.此时您可以做两件事情:
1)调用_presenter.DeleteRow(),然后主持人调用_view.SelectedRow.然后主持人调用view.AskUserForConfirmation(),当它回到DialogResult.OK时,演示者实际上会删除底层对象并刷新网格.
2)该表单要求用户进行确认,当DialogResult为OK时,Presenter.Delete(myObject)被称为OR Presenter.Delete(),并且在Delete方法中,通过调用_view.SelectedRow来检索该对象.
你如何处理这些情况?
解决方法
@H_404_13@ MVP模式应该分离你的逻辑,视图和数据访问.所以当试图决定应该去哪里的时候,问问自己是否有实际的业务逻辑,你想做什么.您希望您的业务层有关于显示弹出窗口的逻辑?可能不会.这只是一个确认信息.您可能希望有一个帮助类可以生成您的程式化弹出窗口,但是与Presenter层分开.