Я пытаюсь реализовать MVP-метод в первый раз, используя WinForms.
Я пытаюсь понять функцию каждого слоя.
В моей программе у меня есть кнопка GUI, которая при нажатии открывается окно openfiledialog.
Итак, используя MVP, GUI обрабатывает событие нажатия кнопки, а затем вызывает presenter.openfile();
Внутри presenter.openfile(), чтобы затем делегировать открытие этого файла на уровне модели или как нет данных или логики для обработки, должен ли он просто действовать по запросу и открыть окно openfiledialog?
Обновление: Я решил предложить щедрость, поскольку я чувствую, что мне нужна дополнительная помощь по этому поводу, и, предпочтительно, с учетом моих конкретных пунктов ниже, так что у меня есть контекст.
Хорошо, после прочтения MVP я решил реализовать Пассивный просмотр. Эффективно у меня будет куча элементов управления в Winform, которые будут обрабатываться презентатором, а затем задачи, делегированные для модели (ов). Мои конкретные пункты ниже:
-
Когда загружается winform, он должен получить treeview. Правильно ли я полагаю, что представление должно поэтому вызвать такой метод, как: presenter.gettree(), это, в свою очередь, будет делегировать модели, которая будет получать данные для древовидной структуры, создавать ее и настраивать, возвращать ее в ведущий, который, в свою очередь, перейдет к представлению, которое затем просто назначит его, скажем, панели?
-
Будет ли это одинаковым для любого управления данными в Winform, поскольку у меня также есть datagridview?
-
Мое приложение имеет несколько классов моделей с одной и той же сборкой. Он также поддерживает архитектуру плагина с плагинами, которые необходимо загружать при запуске. Будет ли вид просто вызвать метод презентатора, который, в свою очередь, вызовет метод, который загружает плагины и отображает информацию в представлении? Какой уровень затем будет контролировать ссылки плагина. Будет ли просмотр содержать ссылки на них или докладчика?
-
Правильно ли я полагаю, что представление должно обрабатывать каждую вещь о представлении, от дерева node, до размера datagrid и т.д.
Я думаю, что это мои основные проблемы, и если я понимаю, как поток должен быть для них, я думаю, что все будет хорошо.