То, что в MVVM делает его, особенно призывая, управляло WPF и Silverlight, но не собственным C++?

  1. Что в WPF и Silverlight заставляет MVVM удовлетворить им так хорошо?
  2. Что это в C++, или в чем испытывает недостаток C++, который заставляет MVVM и C++ никогда не упоминаться вместе?
9
задан Johann Gerell 27 May 2010 в 08:10
поделиться

4 ответа

MVVM (Model - View - ViewModel) - это адаптация MVP (Model -View - Presenter) или MVC (Model - View - Controller) шаблоны, оба из которых являются очень популярными шаблонами проектирования для приложений C ++. Основные изменения в шаблоне проектирования заключаются в улучшении поддержки WPF и Silverlight, поэтому WPF не столько подходит для MVVM, сколько MVVM подходит для WPF.

В основном изменения касаются чистой поддержки архитектуры привязки и команд, присутствующей в технологиях XAML, посредством использования объектов INotifyPropertyChanged и ICommand . И снова эти изменения не помогут в C ++, поскольку он не имеет встроенной поддержки этих высокоуровневых концепций. Это не значит, что вы не можете имитировать всю эту функциональность в C ++, но по пути вы будете использовать базовый шаблон MVP / C, и в большинстве случаев это «достаточно хорошо».

9
ответ дан 4 December 2019 в 09:35
поделиться

Я думаю, что MVVM был разработан специально для поддержки WPF. Похоже, что компания microsoft специально разработала этот паттерн для поддержки тех рабочих процессов разработчика и дизайнера, которые они предполагали для WPF/Silverlight.

Так что причина, по которой вы, вероятно, не слишком часто слышите о нем за пределами мира WPF/Silverlight/XAML, двояка.

  1. Он был разработан для WPF
  2. Никто не пытается поддерживать (в той же степени) эти рабочие процессы дизайнера/разработчика в C++ gui фреймворках.
2
ответ дан 4 December 2019 в 09:35
поделиться

Это не имеет никакого отношения к C++ или какому-либо языку как таковому, это скорее связано с тем, что это имеет смысл только в контексте WPF/Silverlight.

Единственное, что MVVM привносит в таблицу, чего нет у других моделей разделения представлений и логики - это команды/привязки WPF/Silverlight. Основная причина использования MVVM - это использование мощной системы связывания, встроенной в WPF/Silverlight, просто не имеет смысла говорить об этом в разных контекстах, если у них нет похожей модели.

8
ответ дан 4 December 2019 в 09:35
поделиться

Одним словом: Связывание

3
ответ дан 4 December 2019 в 09:35
поделиться
Другие вопросы по тегам:

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