Я читал в Интернете о шаблонах MVC, MVP для дизайна пользовательского интерфейса. Но я не могу понять, как это работает, даже после того, как перечитал пару раз. Я использую C#/winforms для разработки. Может ли кто-нибудь указать мне хорошую книгу/блог/веб-сайт? Что-то, что заставит меня решить, должен ли я принять это или нет. Спасибо.
использование шаблонов MVC MVP в winforms
Ответы (5)
Посмотрите некоторые из этих видео на ПолиморфныйПодкаст. Он хорошо описывает шаблоны MV* и приводит убедительные примеры каждого из них. В частности, посмотрите видео о winforms.
Я действительно думаю, что страница Википедии о MVC очень хороший обзор архитектуры Model View Controller.
Вы можете делать MVC с Windows Forms и C#, но это сложнее, чем с другими платформами. MVC — это разделение задач, и его можно использовать с любой платформой. Однако на некоторых платформах это сделать намного проще, чем на других.
«Хитрость» для того, чтобы заставить это хорошо работать в приложении Windows Forms, заключается в четком разделении задач при разработке форм. Постарайтесь сохранить некоторое разделение между обработкой событий (контроллер), дизайном и макетом формы (представление) и бизнес-логикой и дизайном (модель). Базовый дизайн оконных форм явно не принуждает и не направляет вас к такому разделению, поэтому вам остается только разделить эти вещи.
Самое сложное в формах Windows — не допустить, чтобы представление и контроллер становились слишком взаимозависимыми. Конструктор WinForm естественным образом помещает всю обработку событий в тот же класс, что и форма, поэтому легко связать эти две вещи вместе. Вам придется сохранить это разделение самостоятельно, если вы хотите следовать архитектурным шаблонам класса MVC.
Как насчет этого сообщения SO. Это имеет хороший обзор того, что они есть.
Начните с прочтения сравнительной статьи Мартина Фаулера о различных архитектурах GUI. Он охватывает MVC (как раньше назывался MVP) и много другой полезной информации, которая должна помочь вам сформулировать концепции.
Я только что написал запись в блоге об использовании шаблона MVP Passive View.
http://coding.infoconex.com/post/(MVP)-Model-View-Presenter-Passive-View.aspx
Ищу отзывы, если я что-то не так.