Проверка доменной модели .NET и классы друзей - PullRequest
0 голосов
/ 26 марта 2012

Объекты модели моего домена (сгенерированные структурой сущностей) имеют проверку (с использованием атрибутов и интерфейса IValidatableObject), считывающую комментарии, которые, по-видимому, против добавления атрибутов проверки в модель домена (классы друзей).

Я использую специализированные классы ViewModel с собственными атрибутами проверки для обработки проверки на стороне клиента в пользовательском интерфейсе (ASP.NET MVC), мне все еще нужны атрибуты проверки на модели домена, поскольку мой бизнес-уровень открыт для пользовательских интерфейсов других клиентов, это хороший подход?

1 Ответ

0 голосов
/ 26 марта 2012

Да и нет. Это хороший подход, потому что вы делаете проверку на стороне сервера. Логика вашего домена не должна предполагать, что клиент проверяет (клиент должен , конечно, проверять). Но кроме того, я бы не проверял домен по атрибутам, потому что правила валидации зависят от контекста; они зависят от операции, которую вы выполняете. Я добавляю валидацию в методы, представляющие различные варианты использования домена (операции записи), такие как «создание клиента», «выставление счета клиенту», «отмена заказа» и т. Д. .

Я не понимаю, как вы можете повторно использовать проверку сервера и клиента, не подвергая свои доменные сущности за пределами своей службы, что намного хуже.

...