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の一部であり、Iviewインターフェイスを気にしないプレゼンターに直接電話をかけます。
すなわち
_presenter.BuildItems()
_presenter.RunQue()
MVPを使用するときに、どちらのアプローチを実行するかをどのように検討しますか?