использование шаблонов MVC MVP в winforms

Я читал в Интернете о шаблонах MVC, MVP для дизайна пользовательского интерфейса. Но я не могу понять, как это работает, даже после того, как перечитал пару раз. Я использую C#/winforms для разработки. Может ли кто-нибудь указать мне хорошую книгу/блог/веб-сайт? Что-то, что заставит меня решить, должен ли я принять это или нет. Спасибо.


person P.K    schedule 02.08.2009    source источник
comment
Вступить в клуб :-). Это может немного сбить с толку...   -  person Ed S.    schedule 03.08.2009
comment
Меня тоже очень интересует эта тема. Я вижу преимущества, если вам нужно запустить приложение в разных средах, но в противном случае я не вижу преимущества.   -  person smack0007    schedule 03.08.2009


Ответы (5)


Посмотрите некоторые из этих видео на ПолиморфныйПодкаст. Он хорошо описывает шаблоны MV* и приводит убедительные примеры каждого из них. В частности, посмотрите видео о winforms.

person JP Alioto    schedule 02.08.2009
comment
+1 за подкаст. Я думаю, что когда я увидел их, дизайн впервые по-настоящему тронул меня. - person G-Wiz; 10.03.2010

Я действительно думаю, что страница Википедии о MVC очень хороший обзор архитектуры Model View Controller.

Вы можете делать MVC с Windows Forms и C#, но это сложнее, чем с другими платформами. MVC — это разделение задач, и его можно использовать с любой платформой. Однако на некоторых платформах это сделать намного проще, чем на других.

«Хитрость» для того, чтобы заставить это хорошо работать в приложении Windows Forms, заключается в четком разделении задач при разработке форм. Постарайтесь сохранить некоторое разделение между обработкой событий (контроллер), дизайном и макетом формы (представление) и бизнес-логикой и дизайном (модель). Базовый дизайн оконных форм явно не принуждает и не направляет вас к такому разделению, поэтому вам остается только разделить эти вещи.

Самое сложное в формах Windows — не допустить, чтобы представление и контроллер становились слишком взаимозависимыми. Конструктор WinForm естественным образом помещает всю обработку событий в тот же класс, что и форма, поэтому легко связать эти две вещи вместе. Вам придется сохранить это разделение самостоятельно, если вы хотите следовать архитектурным шаблонам класса MVC.

person Reed Copsey    schedule 02.08.2009

Как насчет этого сообщения SO. Это имеет хороший обзор того, что они есть.

person SwDevMan81    schedule 02.08.2009

Начните с прочтения сравнительной статьи Мартина Фаулера о различных архитектурах GUI. Он охватывает MVC (как раньше назывался MVP) и много другой полезной информации, которая должна помочь вам сформулировать концепции.

person Hamish Smith    schedule 02.08.2009

Я только что написал запись в блоге об использовании шаблона MVP Passive View.

http://coding.infoconex.com/post/(MVP)-Model-View-Presenter-Passive-View.aspx

Ищу отзывы, если я что-то не так.

person Jim Scott    schedule 18.01.2010