В моем приложении MVVM достаточно большое количество моделей ViewModel для родительских деталей. Примерно так:
SchoolsViewModel
+- SchoolViewModel
+- LessonViewModel
+- PupilsViewModel
+- PupilViewModel
+- TeacherViewModel
+- PupilsViewModel
+- PupilViewModel
+- LessonsViewModel
+- TeachersViewModel
И так далее ...
Кроме того, модель одного представления может появляться в нескольких местах в зависимости от того, просматривает ли пользователь урок или ученик и т. Д.
Как вы позволите разделять дочерние ViewModels между разными родительскими ViewModels? Например, «Pupil A» будет присутствовать в PupilsViewModel самого высокого уровня, а также в ряде PupilsViewModel, содержащихся в LessonViewModels. Вы бы создали несколько объектов PupilViewModel, ссылающихся на одну и ту же модель данных? Или как-то найти существующую модель представления для модели данных?
У этого вопроса есть еще один связанный вопрос: Использование MVVM и StructureMap