Model-View-ViewModel очень популярен среди WPF и Silverlight. Я использовал это для своих последних проектов, и я очень большой поклонник.
Я понимаю, что это уточнение MVP . Однако мне интересно, какие именно характеристики WPF (и Silverlight) позволяют MVVM работать и предотвращают (или, по крайней мере, затрудняют) работу этого шаблона с использованием других сред или технологий.
Я знаю, что MVVM сильно зависит от мощной технологии привязки данных в WPF. Это та особенность, которую многие статьи и блоги, по-видимому, упоминают как ключ к WPF, предоставляющий средства для сильного отделения View от ViewModel. Однако привязка данных существует в многих формах в других инфраструктурах пользовательского интерфейса. Есть даже проекты, такие как Truss , которые обеспечивают привязку данных в стиле WPF к POCO в .NET.
Какие функции, кроме привязки данных, делают WPF и Silverlight уникально подходящими для Model-View-ViewModel?