NHibernate. DTO -> Домен - PullRequest
2 голосов
/ 01 июня 2010

У меня есть SOA, которая обрабатывает данные для клиентов diff (asp, sl).Основой этого дизайна являются домены моей бизнес-модели.Для транспортировки, показа его клиентам я использую DTO.Для сопоставления домена с DTO я использую AutoMapper.Теперь я должен упорствовать новые лица от клиентов.Я хочу использовать мои DTO в этом сценарии тоже.Итак, у меня есть несколько вопросов, так как я не очень знаком с этим дизайном

1) Является ли хорошей практикой создание DTO на клиенте и отправка его в веб-службу по проводам?Могу ли я передать свои домены?

2) Возможно ли иметь несколько DTO на один домен (один показ в сетке, а другой для сохранения).Для сохранения мне нужно установить все непримитивные реквизиты на клиенте.

3) DTO -> to Domain.Если у меня есть int, могу ли я использовать AutoMapper для создания прокси NHibernate для этого идентификатора, или я должен сделать это вручную.

Ваш опыт и практика очень интересны.Спасибо за ответ !!!

Ответы [ 2 ]

3 голосов
/ 01 июня 2010

Хорошей практикой является использование DTO для экранов и команд.

Примером этого может служить случай, когда пользователь смотрит на экран дисплея клиента, есть один DTO, который содержит всю (или большую часть, если вам нужно лениво загрузить некоторые вещи) информацию для этого клиента.

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

В зависимости от вашего языка программирования могут быть такие инструменты, как AutoMapper (для C #), которые позволяют легко создавать сопоставления между доменом и DTO.

0 голосов
/ 01 июня 2010

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

...