在我被要求编写的 WinForms 应用程序中使用 MVP 模式。请原谅 VB.net,因为我被迫使用它:(
作为 MVP 的新手,我使用了被动模型实现,其中视图和模型之间没有依赖关系,只有演示者知道两者
视图是 UI 的表示,哪些功能应该是 IVIEW 界面的一部分
我是否应该在 IView 中有方法/动作/任务,即
Property QItems As IList(Of QItem)
Property SelectedQItem As QItem
Property QueStatus As QueStatus
Property ReportName As String
Property ScheduleName As String
Sub BuildQItems()
Sub RunQue()
Sub StopQue()
Sub CancelCurrent()
Sub PauseCurrent()
并使调用查看在 winform 中实现的 Iview 接口
class Winform
implements IView
Private Sub btnCreate_Click(sender As System.Object, e As System.EventArgs) Handles btnCreate.Click Implements IVIEW.Create
If (_presenter.CreateSchdule()) Then
MessageBox.Show("Sucessfully Created")
Close()
End If
End Sub
End Class
还是我应该只持有状态
Property QItems As IList(Of QItem)
Property SelectedQItem As QItem
Property QueStatus As QueStatus
Property ReportName As String
Property ScheduleName As String
并直接调用作为 WinForm 一部分的 Presenter,而不用担心 Iview 接口
IE
_presenter.BuildItems()
_presenter.RunQue()
在使用 MVP 时,您如何权衡何时采用这两种方法?