MVP の使用 - テストにイベントを適切に使用する方法
-
09-06-2019 - |
質問
構築中 (実際には再構築中) の大規模な ASP.NET アプリケーションで MVP パターンを使い始めたところですが、ビューに適用されるイベントをどのように使用するべきかを理解するのに苦労しています。
ユーザー コントロールに 2 つのドロップダウン リストがあり、一方が他方の値に依存しているとします。
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="ucTestMVP.ascx.vb" Inherits=".ucTestMVP" %>
<asp:DropDownList ID="ddlCountry" runat="server" AutoPostBack="True" />
<asp:DropDownList ID="ddlCity" runat="server" />
AutoPostBack イベントをインターフェイスでどのように定義する必要がありますか?次のようにユーザー コントロールによって処理されるイベントである必要があります。
Public Partial Class ucTestMVP
Inherits System.Web.UI.UserControl
Implements ITestMVPView
Protected Sub PageLoad(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Dim presenter As New TestMVPPresenter(Me)
presenter.InitView()
End If
End Sub
Private Sub ddlCountrySelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlCountry.SelectedIndexChanged
Dim presenter as New TestMVPPresenter(Me)
presenter.CountryDDLIndexChanged()
End Sub
End Class
それともインターフェイスでイベントを定義する必要がありますか?これが推奨パターンである場合、処理および使用するイベントをどのように追加すればよいでしょうか?
解決
普遍的に好まれるパターンがあるかどうかはわかりません。私は、ビュー インターフェイスにイベントを追加し、プレゼンターがビューに応答することを好む傾向があります。このパターンについては、 詳細はこちら.
所属していません StackOverflow