Какая должна быть архитектура слоев MVVM и логика
Подскажите пожалуйста. Есть класс Documents представляющий Документы, и есть производные классы от него представляющие каждый отдельный документ Passport, Snils и т.д. Делаю типизированную коллекцию типа в которой будут хранится производные классы т.е. конкретные документы. Эти документы добавляются из другого окна для которой есть своя viewmodel, в окне есть Grid двухстрочный, в первой строке ComboBox в котором выбирается документ, а во второй строке Grid лежит usercontrol который меняется в зависимости от выбранного элемента ComboBox, т.к. каждый документ свое кол-во полей ввода, для каждой view своя viewmodel. Когда нажимаю кнопку добавить нужный документ добавляется в коллекцию, которая в другом окне.
- Вопрос: правильна ли такая архитектура MVVM слоев:
- View: для каждого производного класса документа представляющий документ;
- ViewModel тоже для каждой view, в которых известна коллекция (передаем ссылку);
- И Model т.е. Documents(Базовый класс) и его производные классы представляющие документы.
- К примеру я выбираю Паспорт из ComboBox, появляется нужная view со своей viewmodel в которую попадают введенные значения из полей в свойства, в этой же view есть кнопка добавить, которая должна добавить в коллекцию документ. По идее я добавляю в коллекцию класс model, но работал с viewmodel свойствами, и здесь пере домной стена, у меня котелок не работает, я работал с viewmodel но добавляю в коллекцию model, какая между ними связь нужна другая архитектура или связать как-то viewmodel с model(имеется ввиду в model должны быть такие де поля как в viewmodel и обращаться к каждому полю или передавать viewmodel в model, чтобы model знала о значениях, чтобы потом при выборе документа можно было проверить значения?) Котелок сварился помогите))