Я не могу понять, как заставить модель представления получать уведомления об изменениях в модели, не добавляя кучу специфических для пользовательского интерфейса вещей, таких как INotifyProperyChanged и INotifyCollectionChanged, в мою модель или создавать множество различных событий и делать кучу вещи, которые кажутся специфичными для пользовательского интерфейса и должны оставаться за пределами модели.
В противном случае мне просто нужно было бы продублировать всю бизнес-логику в модели представления, чтобы убедиться, что все обновлено, и тогда какой смысл иметь модель?
Одна из хитрых вещей, которые у меня есть в моей модели, это свойство класса "Category". Вы можете думать об этом как о древовидной структуре, и все свойства являются потомками конечных узлов. Что ж, в модели это свойство генерируется на лету рекурсивно через всех его потомков, что все хорошо и хорошо. Однако модель представления должна привязываться к этому свойству и знать, когда оно изменяется. Должен ли я просто изменить модель, чтобы приспособить модель представления? Если я это сделаю, тогда модель представления на самом деле ничего не делает, модель вызывает все необходимые уведомления об изменениях, и представление может просто привязываться прямо к модели. Также, если бы у модели не было источника, как бы я обошел это?