У меня есть забава, пытаясь окунуться в какой-то MVP stuf, поскольку он относится к User Controls. Я использую .NET WinForms (или что-то рядом с ним) и шаблон Supervising Controller (ну, я думаю, что я:).
Пользовательский элемент управления сам по себе является частью приложения MVP (его вид и связанный с ним Presenter и т.д.). Ведущий всегда запускается первым, и он запускает Model (ы), а затем View (s). View создает свой пользовательский интерфейс, частью которого будет NEW UC, который является View.
Теперь (form) Presenter должен знать о UC Presenter, но я думаю, что он ничего не знает о том, как выглядит представление. Форма Presenter, например, не знает, что UC является частью коллекции Controls формы и не должен.
Кроме того, опыт проектирования не должен изменяться; IOW, разработчик View (form) должен просто выбрать элемент управления пользователя из панели инструментов и отбросить его в форме.
Итак, по моим вопросам. Во-первых, правильны ли мои предположения? Немного ошибочно? Вскочил? WTF вы думаете?
Во-вторых, правильно ли (достаточно?), чтобы форма View вызывала представление UC, а форма Presenter вызывала UC Presenter и имела некоторый механизм, чтобы сообщить UC. Посмотрите, что представляет собой его презентатор? Это нарушает правило "Presenter first", но я не уверен, как это сделать.
Любые другие мысли, предложения, комментарии с удовольствием принимаются.
- nwahmaet