Могу ли я использовать расширенную модель предметной области с WCF?
-
10-07-2019 - |
Вопрос
Можно ли использовать DDD и богатую модель предметной области, если ваше приложение похоже на:
- клиент Windows (WPF)
- служба Windows
А связь происходит с WCF?
Я привык иметь DTO только с состоянием данных и иметь бизнес-правила внутри уровня сервиса, но все продолжают говорить мне, что у меня должна быть богатая модель предметной области, где состояние данных и правила/методы находятся в самих объектах.
Я просто не уверен, применима ли эта богатая модель предметной области к системе, имеющей пользовательский интерфейс и взаимодействующей через WCF со службой (как я представил выше).В моем случае лучше ли продолжать использовать анемичную доменную модель из-за WCF?Если нет, не могли бы вы привести пример его архитектуры с использованием богатой модели предметной области с учетом WCF, прокси и т. д.?
Спасибо!
Решение
Вообще говоря, вы в любом случае сериализуете свои объекты домена для передачи через WCF как некий упрощенный DTO, и именно они используются вашим клиентским приложением.
Ты можешь сериализовать пользовательские типы и десериализовать их в клиенте, но для большинства приложений в этом нет необходимости.Пока вам не нужно «богатое» поведение ваших объектов в вашем клиенте (чего вам в любом случае не нужно при хорошем DDD), мне кажется, что вы можете использовать богатый дизайн на своем уровне обслуживания и отправлять простые DTO по сети.