Поиск чистого учебника WinForms MVC для С#
Как создать богатый пользовательский интерфейс Windows-приложение, например, Photo Shop.
Я ищу чистый учебник MVC для WinForms с С# где-то. (Не ASP.NET MVC.)
Быть новым на платформе Windows; большинство учебных материалов MSDN и интернет-приложений в основном помещают все в класс Form. Дальнейшие события по умолчанию обрабатываются внутри формы, а не отправляют события в элемент управления/модель, что в свою очередь изменяет состояние представления.
Или предпочтительная методика для приложений Windows?
Ответы
Ответ 1
Derick Bailey (через Los Techies) опубликовал фантастические статьи (и полный демо-исходный код) для его реализации MVP в приложении WinForms с парой других хороших шаблонов, добавленных в микс (Application Controller, Event Aggregator).
Работа вдохновлена Серия статей Джереми Д Миллера под названием "Создайте свой собственный CAB"
Ответ 2
Возможно, стоит посмотреть на Model-View-ViewModel (если вам интересно/приятно использовать WPF, особенно).
Он специально настраивается для работы с WPF и Silverlight и использует привязку данных для склеивания всего вместе.
В Интернете есть несколько ресурсов, чтобы узнать больше, включая John Gossman введение и хороший статья Джоша Смита, у которого есть другие ресурсы в его блоге, относящемся к MVVM.
Ответ 3
В приложениях Windows ОС Windows непреднамеренно становится частью контроллера.
Модель может подписаться на различные события/сообщения (например, щелчок мышью, перемещение, изменение размера окна, нажатие кнопки...). Когда он выполнил свою обработку обновления-обновления, представление обновляется с помощью операций перерисовки.
ОС Windows действует как контроллер здесь, потому что она отправляет сообщения модели (например, щелчок мышью) или в представление (сообщая, что часть окон грязная и нуждается в перерисовке).
Конечно, для любого коммерческого приложения вы должны реализовать свою собственную структуру моделей и документов и отделить их от соответствующих объектов WinForm.
В .net это не так ясно, потому что есть только один файл как для модели, так и для просмотра. В MFC это было очень ясно - с классом CDocument и соответствующим классом CView.
Вместо шаблона MVC для приложений Windows он помогает понять архитектуру обмена сообщениями Windows и способы ее обработки.