Я всегда обволакиваю свои модели в поле зрения моделей. Таким образом, любые изменения, внесенные пользователем, применяются только к моделям просмотра, а не к базовым моделям, пока пользователь не захочет зафиксировать эти изменения (например, кнопкой «Сохранить»), и если пользователь не хочет совершать, вы можете просто отбросить модель обзора и начать с нуля без изменения вашей модели. Это особенно важно при работе с объектами/объектами базы данных, поскольку изменения, сделанные непосредственно сущности, могут быть болезненными для отката (по крайней мере, если вы используете Entity Framework)
Существуют определенные случаи, когда «фиксация» является неявной и вышеприведенное не применяется, но я по-прежнему считаю, что хорошей практикой является использование моделей представления, так как это также позволяет вам тестировать вашу бизнес-логику. Основной мотивацией MVVM является ремонтопригодность и наличие хороших модульных тестов - один из способов достижения этого.
Спасибо за совет. Я все еще поднимаюсь на эту крутую кривую обучения, поэтому я хочу убедиться, что я правильно понял шаблон до того, как я начните отклоняться от него. – Jackson
Нет проблем .. И не стесняйтесь проголосовать за все ответы, которые вы найдете полезными ;-) –