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