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

Они позволяют Вам использовать ключевые слова (такой как дата ) от имени столбца, таблицы, и т.д.

, Так как это - плохая практика для начала, они обычно не включаются. Единственное место необходимо видеть, что они используются, людьми, начинающими с запросами SQL, которые не знают ничего лучшего. Кроме этого они просто загромождают Ваш запрос.

44
задан JD. 20 October 2009 в 11:32
поделиться

3 ответа

Это очень тонкое различие, которое я могу лучше всего объяснить, сравнив MVC в ASP.NET и MVVM в WPF.

В ASP.NET MVC запрос поступает с веб-сервера и обрабатывается непосредственно Контроллером. Контроллер определяет соответствующий вид и заполняет его моделями. Затем Контроллер передает эти экземпляры базовой системе, которая передает результат клиенту. Вы можете видеть, что Контроллер действует первым и последним.

В MVVM пользовательский интерфейс (представление) обращен к пользователю и принимает вводимые пользователем данные напрямую. Внутри представления команды в модели представления (который является контекстом данных представления) запускаются этим действием. Управление передается модели ViewModel, которая интерпретирует то, что View отправило, и подготавливает свои модели. После того, как управление возвращается к просмотру, оно обновляется в соответствии с изменениями в моделях. Если требуется новый View, ViewModel сообщает об этом NavigationService (или любому другому методу навигации, который использует ваше приложение), что является компетенцией компонентов Window или Frame - UI. Вы можете видеть, что ViewModel действует не первой и не последней; представление играет гораздо большую роль, чем в MVC.

Архитектура WPF / Silverlight является причиной того, что все делается именно так. Инфраструктуры управления, привязки и навигации не могут контролироваться / заменяться Контроллером; они тесно интегрированы с пользовательским интерфейсом. Таким образом, Контроллер должен находиться под обзором и играть более пассивную роль.

Вы можете видеть, что ViewModel действует не первой и не последней; Представление играет гораздо большую роль, чем в MVC.

Архитектура WPF / Silverlight является причиной того, что все делается именно так. Инфраструктуры управления, привязки и навигации не могут контролироваться / заменяться Контроллером; они тесно интегрированы с пользовательским интерфейсом. Таким образом, Контроллер должен располагаться под обзором и играть более пассивную роль.

Вы можете видеть, что ViewModel действует не первой и не последней; представление играет гораздо большую роль, чем в MVC.

Архитектура WPF / Silverlight является причиной того, что все делается именно так. Инфраструктуры управления, привязки и навигации не могут контролироваться / заменяться Контроллером; они тесно интегрированы с пользовательским интерфейсом. Таким образом, Контроллер должен располагаться под обзором и играть более пассивную роль.

60
ответ дан 26 November 2019 в 21:58
поделиться

Я думаю, что идея в том, что MVVM лучше подходит для XAML, чем MVC. Сказать MVC «не подходит» немного преувеличено.

А чем MVVM лучше? В основном из-за превосходной привязки данных и привязки команд в XAML. См. эту статью .

4
ответ дан 26 November 2019 в 21:58
поделиться

MVVM was designed mainly because of XAML and to make data binding even simpler, it's very similar to MVP. The main benefits are simpler way of manipulating the user interface (the ViewModel or Presenter takes care of that task rather than the Model having to fire events to the View after it's been manipulated by the Controller).

The best two articles I've come across that helped me understand the principles are MVC vs MVP vs MVVM and MVVM for Tarded Folks Like Me or MVVM and What it Means to Me

13
ответ дан 26 November 2019 в 21:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: