Использование сервиса WCF с платформой объекта 4 и … DTO?

Как описано выше я реализую многоуровневую архитектуру для работы с WCF и Платформой Объекта 4 (с постепенно). Так как я, уже имеют незнание персистентности с ПОСТЕПЕННО, я действительно должен реализовать DTO, или я могу использовать WCF его чистым способом?

Основная кавычка - мне действительно нужен DTO для передачи легкого объекта сети, или я могу использовать мой ПОСТЕПЕННО объекты.

Что Вы рекомендуют парни?

8
задан John Saunders 10 October 2011 в 23:32
поделиться

2 ответа

[

] Как сказал jfar, это зависит от того, будешь ли ты единственным, кто будет потреблять услугу, или ядром презентации будешь только ты. [

] [

] Если вы делаете это позже, и только вы будете использовать ваш сервис, то вы можете сериализовать ваши POCO через границы сервиса wcf. Это то, что я недавно сделал и написал этот пост в блоге [] [] о том, как заставить его работать. Это позволит вам использовать одни и те же сущности на уровне приложений, а также на уровне презентаций[

]. [

] Надеюсь, это поможет. [

]
1
ответ дан 5 December 2019 в 23:15
поделиться

Трудно ответить, если не определить, что такое "чистый путь". Речь идет о "чистом пути" или о "чистом пути"?

Прокси-серверы WCF уже в каком-то смысле являются DTO, потому что они не несут никакой бизнес-логики в вашем контракте на обслуживание. Создание еще одного уровня DTO поверх прокси-классов, генерируемых WCF, кажется излишним.

Самый большой вопрос, на который вы хотите ответить, это "как SOA это решение?". Вы не можете делиться своими POCO сущностями через границы сервиса, если хотите быть совместимым с SOA. В основе SOA лежат разрозненные контракты.

Если вы пойдете на основе SOA, то потеряете много функциональности, потому что классы, с которыми ваш веб-уровень будет работать большую часть времени, будут дурацкими прокси-серверами. Вам придется повторить много логики, и вы потеряете много функциональности "мета-данные, соглашение о конфигурации", которую предоставляет MVC 2.

Если вы бросите SOA-буззловое слово в шредер, что вы и должны сделать ( http://soafacts.com/), то вам будет гораздо проще обмениваться бизнес-логикой и мета-данными между уровнями. Если единственным потребителем ваших веб-сервисов является вы, то этот метод, вероятно, является лучшим выбором.

Именно здесь вы можете использовать DTO для отправки данных по каналам связи вместо ваших POCO-субъектов. Единственный недостаток - снова повторяющаяся логика и множество церемониальных кодов бойлерных номеров, которые ничего не делают. Действительно зависит от размера вашего проекта. Если он маленький, забудьте о DTO, но если у вас 20 разработчиков, работающих с 200 000 LoC, то, скорее всего, стоит создать DTO.

3
ответ дан 5 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: