Мы используем шаблон MVP и Winforms с большим успехом. Однако всегда возникает вопрос о MVP:
Что такое хорошая гранулярность для докладчиков?
Я имею в виду: С Winforms тонкая гранулярность обычно хорошо работает для пользовательских элементов управления. Таким образом, легко использовать пользовательские элементы управления и использовать их в качестве строительных блоков при разработке более сложных графических интерфейсов. Однако наличие такой же (тонкой) гранулярности с докладчиками представляется проблемой.
С одной стороны, наличие крупнозернистых презентаторов затрудняет использование "плагинов" элементов управления, и это приводит к нарушению принципа DRY: нескольким ведущим часто требуется реализовать ту же логику (заполнять список клиентов, например), который используется несколькими более сложными элементами управления.
С другой стороны, мелкозернистые презентаторы, как представляется, ограничивают возможность повторного использования элементов управления в разных ситуациях. Например, иногда для редактирования может потребоваться немедленное сохранение клиента; иногда ему нужно связать его с чем-то другим; иногда просто нужно проверить его; и так далее. Это часто зависит от более сложного контроля. Но также существует довольно много общего поведения.
Обратите внимание, что в обоих случаях возможен 1-презентатор-1-просмотр. Что считается изменением "1-view".
Что обычно считается лучшим методом для гранулярности презентатора с использованием MVP и Winforms?
- Мелкозернистые презентаторы и настраиваемое поведение через параметры или что-то в этом роде?
- Крупнозернистые презентаторы и повторное использование нижнего презентатора?
- Что-то еще?
Отказ от ответственности: в основном мы используем Контроллер Supervising, но я думаю, что это также относится к Пассивному представлению. Извините за длинный вопрос.