2014-12-22 2 views
0

Я знаю, что существует несколько существующих вопросов о том, следует ли внедрять INPC на модели, большинство аргументов - это повторение кода из-за прокси-адресов свойств, что в этом случае не будет проблемой, поскольку модель и ViewModel будет автоматически генерироваться инструментом, поэтому любые аргументы размера кода недопустимы.Autogenerated MVVM: Validation и INotifyPropertyChanged

Есть ли недостатки в реализации INotifyPropertyChanged на модели, кроме размера кода?

Кроме того, сгенерированная модель будет использоваться непосредственно программистами, но ViewModel будет использоваться только другим сгенерированным кодом, поэтому размер и сложность модели представления будут скрыты, но Модель должна быть такой же простой насколько это возможно, без потери функциональности, в этом случае Лучше реализовать проверки и расчетные свойства модели или модели представления?

Учитывайте, что модель может быть или не быть объектами базы данных.

Thanks

ответ

1

Это слишком общий вопрос, на который нужно ответить. «Лучше реализовать ...?» : Это зависит от потребности приложения. В идеале модель обладает всеми свойствами, а модель Viewmodel - это место, где вы заполняете модель и записываете необходимую бизнес-логику.

Поскольку вы говорите об автогенерации, я полагаю, вы написали какую-то утилиту, которая делает это создание. В идеале проверка должна присутствовать как в модели, так и в ViewModel. Предполагается, что проверка на стороне стороны должна проверять любую проверку на стороне БД/сервера, если она присутствует, и ViewModel (VM) должен проверять клиента, например: В виртуальной машине вы проверяете, больше ли свойство, чем какое-либо другое свойство, но в валидации модели вы должны были бы утвердить для uniqness или null и т. д.

Другое дело - рассчитанные свойства (я надеюсь, что это означает расчет, сделанный в базе данных и заполненный свойством), эти свойства идеально должны находиться на ViewModel.

Надеюсь, это ответит на ваш вопрос.

Смежные вопросы