Слои WCF - PullRequest
       18

Слои WCF

2 голосов
/ 18 мая 2009

Я недавно начал с WCF (да, я знаю, что я позади :-)). Вопрос в том, как мне это структурировать.

Я привык к DAL, BL и презентации уровня. Я заменяю (вроде) мой DAL структурой сущности.

Итак, у меня есть это пока

DAL (структура предприятия) -> BL -> контракты (поведение контракта службы управления сообщениями и т. д.) -> внедрение сервиса -> клиент.

Вопрос в том, есть ли слой между bl и контрактами, который преобразует (отсутствие лучшего слова) bl в контракт данных.

Ex DAL.Customer (Entity Framework) -> BL (Правила) -> Конвертер (Просто преобразование) -> Contracts.Customer

OR

DAL.Customer (Entity Framework) -> BL (правила) -> Converter (вызов BL и преобразование. Преобразователь, реализующий контракт на обслуживание) -> Contracts.Customer.

спасибо

Ответы [ 2 ]

1 голос
/ 18 мая 2009

Должен быть тонкий «слой», просто потому, что вам не нужен слой BL для понимания ваших контрактов, и вы действительно не хотите выставлять свои объекты BL в качестве контрактов для остального мира.

Конечно, вы можете сделать это. Вы можете разрабатывать контракты данных, которые являются простыми объектами передачи данных. Они будут содержать только данные, а не поведение, и будут представлять часть ваших данных, которую вы намерены увидеть миру. Ваш BL может либо ограничить себя этой моделью, либо наследовать от нее, чтобы добавить специфичные для BL функции.

В качестве альтернативы, просто имейте BL-версию реальности и "контрактную" версию реальности и конвертируйте между ними.

0 голосов
/ 19 мая 2009

Часто вы будете видеть сходство между вашим BL и типом контракта. Вы можете использовать несколько ярлыков, чтобы помочь вам конвертировать между типами с превосходным AutoMapper . Эти виды инструментов могут помочь этому слою оставаться «тонким».

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