Вопрос

я знаю несколько фреймворков Mvvm, которые были представлены в это Нитки

пожалуйста, опишите или дайте мне ссылку на то, для чего они полезны?нет информации о MVVM о фреймворке MVVM.спасибо :) я хочу знать :Что такое фреймворк MVVM?

Это было полезно?

Решение

Я думаю, что ваш вопрос не совсем точен.Насколько я понимаю, вы спрашиваете об особенностях каждого фреймворка?!

Вы можете найти подробную информацию здесь и здесь.Однако, по крайней мере, одна из этих ссылок уже была приведена в упомянутой вами теме...

Редактировать:
По сути, фреймворк MVVM представляет собой набор классов, которые обычно используются в приложениях, использующих шаблон MVVM (Model-View-ViewModel).Это может включать системы обмена сообщениями для связи между независимыми частями программного обеспечения, методы внедрения зависимостей, базовые классы для ViewModels, шаблоны проектов / классов, механизмы проверки, часто используемые команды, методы отображения диалоговых окон и так далее...

Чтобы полностью понять такой фреймворк, вам сначала нужно будет понять шаблон MVVM.Потому что только тогда (или даже только после того, как вы выполнили свой первый проект MVVM) у вас будет понимание проблем и / или задач этого шаблона.

Другие советы

Чтобы использовать MVVM Framework, просто выполните следующие действия:

  1. У вас есть модель и модель просмотра с тем же именем.

Модели просмотра не должны быть оберточными моделями. Работа модели просмотра - это брокерские запросы на внешние услуги, такие как нагрузка и сохранение данных. Сама данных, а также проверка и большая часть бизнес-логики должны быть в моделях.

Я не могу подчеркнуть этого достаточно. Всякий раз, когда вы создаете модель просмотра, которая управляет моделью по делегации, вы ввели огромную дыру в вашем API. Особенно, что-либо с прямой ссылкой на модель может изменить свойство таким образом, чтобы модель просмотра и, следовательно, пользовательским интерфейсом никогда не уведомляется. Аналогичным образом, любые изменения в расчетные поля в модели не будут распространяться обратно в модель просмотра.

  1. У вас есть вид и модель просмотра с тем же именем.

Идеально видно-моделями агностики к экранам они используются. Это особенно верно в приложении WPF, где несколько Windows могут разделить один и тот же экземпляр модели просмотра.

Для небольших приложений таких вам может понадобиться только модель просмотра для всего приложения. Для более крупных приложений вам может понадобиться один для основной функциональности и один для каждого вторичного аспекта, такого как управление конфигурацией.

  1. У вас нет кода позади.

В абсолютных условиях кода не является ни хорошей, ни плохим. Это просто место для положения логики, которая специфично к одному виду или контролю. Поэтому, когда я вижу вид без кода вообще, я сразу проверю следующие ошибки:

  • Модель визуализации касается специфических элементов управления по имени?
  • Является ли модель ViewS доступ к элементам управления через параметр команд?
  • Это EventTocommand или другое утечное поведение, используемое вместо простого обработчика событий?

EventTocommand из MVVM Light особенно плохо, потому что он предотвратит контроль от мусора, собранного после того, как они будут удалены с экрана.

  1. Модели просмотра прослушивают свойство изменили уведомления

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top