MVVM и коллекции виртуальных машин
Распространенный сенарио: модель с коллекцией моделей элементов.
Например, дом с коллекцией людей.
Как правильно структурировать это для MVVM - в частности, для обновления коллекций Model и ViewModel с добавлением и удалением?
модельHouse
содержит коллекцию моделейPeople
(обычноList<People>
).
Посмотреть модельHouseVM
содержит объект House, который он переносит, и модель ObservableCollection видаPeopleVM
(ObservableCollection<PeopleVM>
). Обратите внимание, что в итоге мы имеем HouseVM с двумя коллекциями (которые требуют синхронизации):
1.HouseVM.House.List<People>
2.HouseVM.ObservableCollection<PeopleVM>
Когда дом обновляется новыми людьми (добавить) или людьми покинуть (удалить), это событие теперь должно обрабатываться в обеих коллекциях коллекции людей модельного домаА ТАКЖЕ The VM HouseVM PeopleVM ObservableCollection.
Правильна ли эта структура MVVM?
Есть ли способ избежать двойного обновления для операций добавления и удаления?