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, и в большинстве случаев это «достаточно хорошо».