C # MVC Pattern Help - PullRequest
       5

C # MVC Pattern Help

1 голос
/ 24 января 2011

Я пытаюсь реорганизовать мой код Winforms в шаблон MVC. Я никогда не использовал этот шаблон раньше.

Очевидно, что GUI будет представлением, контроллер будет «средним уровнем», который вызывается любым взаимодействием пользователя с GUI, а модель выполняет требуемые задачи и информирует представление о любых изменениях состояния.

Мой вопрос в том, что с моделью я предполагаю, что она может охватывать большое количество классов и не ограничивается одним «модельным» классом? Кроме того, могут ли эти три секции находиться в одной сборке?

Спасибо.

Ответы [ 6 ]

3 голосов
/ 24 января 2011

для Winforms я бы не предложил MVC - идентификатор предлагает MVVM

попробуйте этот урок http://weblogs.asp.net/dwahlin/archive/2010/09/30/silverlight-sessions-coming-to-devconnections-las-vegas-november-1-4.aspx

в этой статье упоминается Silverlight, но шаблон MVVM является общим и может применяться к Winforms

как указал Роджер Липскомб - MVP также может работать - попробуйте это для получения информации об этом http://davybrion.com/blog/2010/08/mvp-in-silverlightwpf-architectural-overview/ - опять-таки характерно для Silverlight в этом свете, но в качестве его шаблона он может быть адаптирован

2 голосов
/ 24 января 2011

Для Winforms я бы предложил изучить шаблон MVP (Модель / Вид / Presenter) и шаблон MVC .Хотя другие считают, что MVVM может быть хорошей идеей, я не согласен - MVVM использует преимущества привязки данных, предлагаемые в WPF, и хотя Winforms поддерживает привязку в некоторой степени, она не так ориентирована на привязку, как архитектура / объектная модель WPF.

Слой «Модель» может состоять из множества классов, и я всегда буду использовать «Принцип единой ответственности», а также другие принципы Solid при моделировании классов в этом слое вашей архитектуры.

Полезные ссылки:

0 голосов
/ 15 апреля 2016

Возможно, вас заинтересует подход, к которому я стремлюсь, чтобы объединить шаблон MVC / MVP с привязкой данных с текущими интерфейсами. mvc и привязка данных, каков наилучший подход?

Если использовать MVC, MVP или MVVM, это, с моей точки зрения, вопрос перспективы. Все они приведут к абстракции данных, логике и визуализации данных.

0 голосов
/ 24 января 2011

Если вы решили попробовать шаблон MVP, который является хорошим выбором для Winforms, посмотрите MVC # , фреймворк для создания приложений MVP. Это просто и хорошо.

0 голосов
/ 24 января 2011

Возможно, вы захотите создать класс Model в качестве интерфейса. Затем все ваши конкретные модели реализуют этот интерфейс, но используют общие методы (такие как обновление, удаление и т. Д.)

Они определенно могут быть записаны в одной сборке. Структура вашей папки (строго) должна соответствовать структуре Models / Views / Controllers и размещать файлы кода под ними соответственно.

0 голосов
/ 24 января 2011

Нет, модель не ограничена одним модельным классом. В модели вы обычно представляете свою базу данных и другие связанные с данными вещи. Контроллеры несут ответственность за большинство действий.

И да, весь этот компонент попадет в одну DLL. Держу пари, что будет много других файлов, таких как файлы представлений, которые не всегда компилируются в MVC (но вы можете форсировать это).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...