MVVM - это практическое правило, а не догма; это означает, что он действительно гибкий. Первоначально MVVM был основан на трехуровневой системе организации данных. Вид / Бизнес-уровень / Уровень БД. И в некотором смысле, это просто так.
Должен ли я сохранить класс TestReportItem в библиотеке классов Repository или переместить его в собственную библиотеку классов?
Находятся ли ваши классы в основном проекте или во внешней библиотеке классов до дизайна. Если дизайн требует повторного использования между различными проектами, тогда да, распакуйте его. В противном случае наличие внешнего не добавляет никакого значения, кроме разделения работы.
Помните, что внешняя библиотека в некотором смысле является другим пространством имен для структурирования вашего кода.
Моя ViewModel не ссылается на модель. Он ссылается на класс TestReportItem.
Что касается TestReportItem
, то это Модель. Только потому, что он имеет / может иметь методы и операции, является спорным. Если необходимо создать частичные файлы классов, в которых свойства model esque содержатся в одном частичном коде, а операции и все в другом частичном порядке, и можно достичь разделения . Но это необязательный
шаблон данных для доступа к строковому полю "Заголовок". Является ли это приемлемой / лучшей практикой?
Получается ли Title
производным или генерируется его присутствием в классе. Если это так, то да, если нет, поместите Title
на основную ВМ и извлеките / соберите его в получателе Title
.