アプリケーション全体で再利用したいユーザーコントロールがあるが、プレゼンターも必要とするページやその他のコントロールがある状況に興味があります。
だから私はアップロードビューとコントロールを持っていると言う
public partial class UploadControlView : System.Web.UI.UserControl, IUploadView
しかし、私はページビューも持っています
public partial class ExcelProcessorView : System.Web.UI.Page, IExcelProcessorView
アップロードコントロールはExcelProcessorページにあるため、ユーザーはファイルをアップロードして、Excel処理のビジネスロジックに渡すことができます。
だから私にはプレゼンターがいます
public class ExcelUploadAndProcessPresenter : IUploadPresenter
ExcelProcessorViewで、次のようにプレゼンターを接続します。
protected void Page_Load(object sender, EventArgs e)
{
ExcelUploadAndProcessorPresenter presenter =
new ExcelUploadAndProcessorPresenter(this, uploadControl);
this.AttachPresenter(presenter);
uploadControl.AttachPresenter(presenter);
//init etc...
}
これはMVPパターンの正しい使用法ですか?
私は、1つのプレゼンター関係に対する多くのビューを処理するためのベストプラクティスを理解しようとしています。MVPは、このように多対1の関係を持つことができますか。別の質問として、MVPパターンが、プレゼンターが多く、ビューが多い(またはプレゼンターが1人だけである)状況を処理できるかどうか、または処理できるかどうかも知りたいですか?
私のMVPの一般的な解釈に問題がある場合は、ぜひ先に進んでそれを指摘してください。
読んでくれてありがとう!