ViewModel может говорить для Просмотра в шаблоне MVVM?

В шаблоне MVP у Предъявителя есть интерфейс Представления, таким образом, предъявитель может назвать iview. DoSomething ().. Что относительно в шаблоне MVVM?

Согласно диаграмме UML John Gossman http://blogs.msdn.com/johngossman/archive/2006/04/13/576163.aspx, ViewModel не имеет интерфейса Представления. Так, походит на ViewModel, и Представление должно быть передано через Привязку только. (или используйте присоединенное свойство или поведение смешения или и т.д.).

Что делает Вас, парни думают?

6
задан akjoshi 2 March 2012 в 09:44
поделиться

4 ответа

Я согласен с Джоном Госсманом. Модель ViewModel «общается» с View только через привязки. Фактически - ViewModel вообще не должен заботиться о View. Он должен просто сделать данные доступными через свойства, а View решает, к чему они будут динамически привязываться в ViewModels. Если ViewModel хочет сообщить View что-то, это должно происходить неявно через Bindings.

Аналогичный вопрос был задан час назад - здесь .

7
ответ дан 10 December 2019 в 00:37
поделиться

Обычно это происходит - через события в INotifyProperty, если ничего больше.

1
ответ дан 10 December 2019 в 00:37
поделиться

Вся цель MVVM заключается в том, чтобы значительно сократить количество кода в кодовом классе вашей формы WPF или пользовательского элемента управления. Идея заключается в том, что все, что обрабатывалось бы представлением в классическом MVC/MVP, может быть перенесено в VM с помощью комбинации связывания данных и/или команд. В моем общем использовании MVVM мне удалось полностью удалить весь code-behind в моих формах/пользовательских элементах управления, и VM не имеет никаких прямых знаний о представлении, которым управляет. Если у вас есть ситуация, которая действительно не может быть решена с помощью привязки данных или команды, пожалуйста, уточните ваш первоначальный вопрос, и я (или один из многих, многих более талантливых MVVM'щиков здесь) постараюсь направить вас в правильном направлении.

1
ответ дан 10 December 2019 в 00:37
поделиться

Может ли ViewModel взаимодействовать с View в шаблоне MVVM?

Да, но без привязки. Допускается введение интерфейса IView для связи.

Паттерн MVVM собирается переместить логику из представления в модель представления. Таким образом, мы можем провести модульное тестирование этой логики.

1
ответ дан 10 December 2019 в 00:37
поделиться
Другие вопросы по тегам:

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