Почти каждый учебник объясняет MVVM в WPF таким же образом: У нас есть объект (Person, Student, автомобилей и т.д.) - мы создадим класс модели для него, который будет нести только данные (это может также реализовать INotifyPropertyChange, IDataErrorInfo и еще что-то - не имеет значения сейчас), то мы создаем View-Model для этого класса, который будет запрашивать и/или сохранять наши сущности/файлы где-нибудь (скорее всего, с помощью команд) - наш View будет привязан к View-Model и вуаля.MVVM без «стандартной модели»
Скажем, у нас есть приложение, которое не будет, за разницу, работа с запрашивая/сохранение сущностей. Предположим, что она должна содержать кнопку, которая при нажатии будет загружать .exe-файл (в фоновом потоке) и запустит его. Мне любопытно, как бы вы приблизились к этому (с точки зрения архитектуры) - действительно ли вы создали папку/класс под названием «Модель» для этой программы? Что бы это содержало? Как я это вижу, у меня было бы две абстракции - одна для загрузки файла и одна для его запуска. Я бы ввел их в View-Model и вызвал их методы (через Command), и все. Или это должен быть класс модели, содержащий эти абстракции? Я знаю, что этот вопрос может показаться странным, но это то, что меня беспокоило какое-то время.
Btw, я понимаю, что название этой должности не говорит много - у меня не было лучшей идеей для него, если кто-то - вы можете изменить его.
MVVM действительно релевантно в сложных приложениях с бизнес-логикой, которые вы должны тщательно тестировать. Для простого приложения просто бросьте его в codebehind и двигайтесь дальше. – Will