我很好奇你有一个用户控件想要在整个应用程序中重用的情况,但你也有一个页面或其他控件也需要演示者。
所以说我有一个上传视图和控制
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 模式的正确使用吗?
我试图弄清楚处理一个演示者关系的多个视图的最佳实践是什么。MVP 能否以这种方式建立多对一关系。作为另一个问题,我还想知道 MVP 模式是否可以/应该处理您有许多演示者和许多视图(或者您应该只有一个演示者)的情况?
如果您发现我对 MVP 的总体解释有任何问题,请务必指出这一点。
谢谢阅读!