Использование шаблона MVC, MVP или MVVM для мастера, написанного на WinForms? - PullRequest
1 голос
/ 16 июля 2009

Все мастера WinForms, которые я написал в прошлом, имеют высокую степень связи между пользовательским интерфейсом и моделью. То есть: отдельные страницы знают о включении / отключении кнопок «Следующая / Предыдущая», о том, как реагировать на нажатие кнопки «Далее» и т. Д. Это затрудняет тестирование, потому что для проверки любой логики необходимо сначала соберите много лесов.

Я недавно использовал MVC (в форме ASP.MVC), и я считаю, что это легко проверить. У меня также была игра с WPF, и я думаю , что я думаю о M-V-VM.

Я борюсь с шаблоном M-V-P в WinForms (т.е. без привязки данных в стиле WPF). В частности, мне нужно реализовать мастер.

Буду ли я иметь контроллер на страницу? Модель представления, которая управляет всем волшебником? Что-то еще?

Это в WinForms (не WPF), в C #. .Net 2.0 предпочтительнее.

Ответы [ 2 ]

1 голос
/ 20 октября 2009

В итоге я выбрал что-то между MVVM и MVP, используя смесь интерфейсов привязки данных WinForms и просмотра обратных вызовов. Я думаю, что это ближе к MVP, чем MVVM. На каждой странице есть модель представления / презентатор, а сам мастер имеет собственную модель представления / презентатора для управления потоком (например, некоторые параметры пропускают последующие страницы мастера).

Получилось неплохо, и довольно легко написать модульные тесты для каждого из классов докладчиков.

Базовая структура мастера не использует MVVM или MVP. Это просто старый код WinForms.

0 голосов
/ 16 июля 2009

Посмотрите на Smart Client Software Factory .

...