Проектирование DTO-объектов c # asp.net - PullRequest
0 голосов
/ 05 мая 2011

Должен ли я помещать свои объекты DTO в мой сервисный / бизнес-уровень домена?

Могут ли такие свойства иметь аннотации данных, это хорошая практика?Специально для проверки на стороне клиента с asp.net MVC 2?(У меня нет доступа к asp.net mvc3, иначе у меня был бы доступ к IClientValidator? Или какому-то подобному интерфейсу) ...

В противном случае все мои проверки выполняются на c #, и я сообщаю о любых ошибках вплоть до пользовательского интерфейса иливеб-проект

Я надеюсь перевести DTO на объекты внутри моего уровня доменных служб, поэтому ответы на вышеизложенное приветствуются.

1 Ответ

2 голосов
/ 05 мая 2011

Вы должны поместить свои DTO в отдельную сборку, чтобы избежать связывания слоев.

Подробнее здесь: http://martinfowler.com/eaaCatalog/separatedInterface.html

Могут ли такие свойства иметь аннотации данных, это хорошая практика

Да, я так думаю.Так как он позволяет всем слоям проверять объект без дублирования кода.Атрибуты также добавляются в файлы справки, сгенерированные sandcastle, что позволяет всем читающим его увидеть, какие требования к контракту предъявляют ваши модели / DTO.

...