Я изо всех сил пытаюсь понять часть ViewModel в шаблоне MVVM. Мой текущий подход состоит в том, чтобы иметь класс без какой-либо логики (важно), за исключением того, что он реализует INotifyPropertyChanged. Класс — это просто набор свойств, структура, если хотите, описывающая как можно меньшую часть данных. Я считаю это своей Моделью.
Большая часть кода WPF, который я пишу, представляет собой диалоги настроек, которые настраивают указанную модель. Код диалогового окна предоставляет свойство, которое возвращает экземпляр модели. В коде XAML я привязываюсь к подсвойствам этого свойства, тем самым напрямую привязываясь к свойствам модели. Что работает достаточно хорошо, так как реализует INotifyPropertyChanged. Я считаю этот диалог настроек Вид.
Однако я так и не смог понять, что же такое ViewModel во всем этом. В статьях, которые я читал, говорится, что ViewModel должна связать представление и модель вместе, обеспечивая логику, которой не хватает модели, но она все еще слишком сложна, чтобы перейти непосредственно в представление. Это правильно? Будет ли в моем примере программный код диалогового окна настроек считаться ViewModel?
Я просто чувствую себя немного потерянным и хотел бы, чтобы мои сверстники опровергли некоторые из моих предположений. Я здесь совсем не в теме?