Зачем использовать MVVM? - PullRequest
70 голосов
/ 16 апреля 2010

Хорошо, я изучал паттерн MVVM, и каждый раз, когда я ранее пытался его изучить, я отказывался по ряду причин:

  1. ненужное сверхдлинное кодирование
  2. Нет явных преимуществ для кодировщиков (в моем офисе нет дизайнеров. В настоящее время только я скоро буду другим кодировщиком)
  3. Не так много ресурсов / документации о передовой практике! (Или, по крайней мере, трудно найти)
  4. Не могу вспомнить ни одного сценария, где это выгодно.

Я собираюсь отказаться от этого еще раз, и подумал, что я бы попросил посмотреть, если кто-то ответит на приведенные выше причины.

Честно говоря, я не вижу преимущества использования этого для одиночного / партнерского кодирования. Даже в сложных проектах с 10-х окон. Для меня DataSet является достаточно хорошим представлением и привязкой, как в ответе Brent после вопрос

Может ли кто-нибудь показать пример использования шаблона MVVM для экономии времени по сравнению с привязкой данных XAML.

100% моего связывания выполняется в XAML на данный момент. И поэтому я не вижу смысла в ВМ как в дополнительном коде, который мне нужно написать и от которого зависит.

EDIT:
Проведя послеобеденное исследование о MVVM, я наконец-то нашел то, что заставило меня осознать истинные преимущества этого ответа .

Ответы [ 13 ]

1 голос
/ 16 апреля 2010

В конечном итоге вы будете счастливы, если будете использовать шаблон, такой как MVVM, по всем причинам, которые опубликовали другие. Помните, что вам не нужно дословно выполнять требования к шаблону, просто убедитесь, что у вас хорошее разделение между окном (View) и логикой (code-behind).

0 голосов
/ 24 июня 2018

MVVM действительно избыточный код.

Так что же дает MVVM?

Это просто Разделение проблем , не более. Вы также можете записать логику ViewModel в контроллер. ViewModel просто отвечает за преобразование (например, и объект в строку). Используя MVVM, вы используете более объектно-ориентированный стиль программирования. Записывая логику преобразования в контроллер, вы используете более функциональный стиль программирования.

Таким образом, все сводится к большему количеству кода с лучшей читаемостью или меньшему количеству кода с большими файлами Controller. В заключение вы не можете сказать, что должны использовать MVVM, потому что он лучше, чем MVC или около того, это просто личное предпочтение.

Просто чтобы было понятно, почему я упоминаю контроллер: MVVM также имеет где-то код контроллера. Я понятия не имею, почему существует широкий консенсус, чтобы оставить C.

0 голосов
/ 16 апреля 2015

Преимущества MVVM

  1. Пониженная сложность.
  2. Изоляция проектирования и разработки.
  3. Зависимость инъекций.
  4. Основным преимуществом является наличие структурированного приложения Windows Phone для Well MVVM и его разработка для Windows Metro Desktop. Единственное, что вы хотите сконцентрироваться на дизайне, - можно использовать ту же модель представления, что и сейчас.

Надеюсь, это поможет.

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