Мне любопытно, что у вас есть пользовательский элемент управления, который вы хотите повторно использовать в приложении, но у вас также есть страница или другой элемент управления, для которого также нужен докладчик.
Скажем, у меня есть просмотр загрузки и управление
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 в общем, непременно идите и укажите на это.
Спасибо за чтение!