Для экспертов MVVM о том, как работает MVVM
Насколько я понимаю, MVVM работает следующим образом:
Представьте, что у меня есть представление с кнопкой для расчета налога.
Это вызывает метод в модели представления,который обновляет налог в модели
затем модель выдает INotify для представления с надписью "налог обновлен".
затем представление переходит к модели, захватывает обновленное значение и помещает его в представление, отображая его конечному пользователю.
---
эта последняя часть кажется дополнительным ненужным чем-то, что нужно сделать. Почему модель просто не Инотифицирует представление обновленным значением?
Или я что-то пропустил?
Что я уже пробовал:
погуглил для понимания и проверил объяснения здесь на проекте кода
JustWatchLittle
"Почему модель просто не Инотифицирует представление обновленным значением":
Потому что модель не имеет никакого представления о представлении
Member 13578639
но [как я понимаю] точка зрения также не имеет никакого знания о модели.
Модель знает достаточно, чтобы уведомить представление об изменении значения, почему бы не передать ему это значение одновременно, а не ждать, пока представление "запросит" это значение.
Dave Kreskowiak
Нет, модель знает достаточно, чтобы вызвать событие, о котором любой подписчик получит уведомление об измененном значении. Он ничего не знает о том, что подписано на него. Подписчик, в вашем случае представление, получает уведомление о событии, а затем самостоятельно определяет, следует ли перейти к получению нового значения или нет. Что делать, если значение не отображается в текущем режиме или находится "вне экрана" и не должно обновляться? Это зависит от вида, чтобы определить, а не для модели, чтобы заставить на вид.