Должен ли бизнес-объект знать о своем соответствующем объекте договора - PullRequest
1 голос
/ 09 ноября 2010

У меня есть несколько бизнес-объектов и несколько очень похожих соответствующих объектов контракта данных для передачи данных по проводам через службу WCF.

Какой механизм следует использовать для получения заполненных объектов контракта данных из бизнес-объектов?

В идеальном мире должен ли уровень контракта данных знать о бизнес-уровне?

или

Должен ли бизнес-уровень знать об уровне контракта данных?

или

Должен ли быть еще один слой сопоставления со статическими методами, такими как GetDataContractFromBusinessObject?

Ответы [ 2 ]

2 голосов
/ 09 ноября 2010

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

0 голосов
/ 09 ноября 2010

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

Другой вариант - представление уровня данных интерфейса, понятное бизнес-классу. И затем ваш уровень данных реализует этот интерфейс. Я предпочитаю этот метод, так как бизнес-уровень гораздо проще взаимодействовать с абстрактной версией уровня данных, чем уровень данных понимает ваши бизнес-объекты.

...