Я не могу понять, что выбрать между этими двумя потоками, на этих диаграммах я использую шаблон посредника, но он применим к любому варианту использования, в котором есть слой для интерфейса ( API ) и само приложение ( домен ).
Должен ли я применять DRY и возвращать ответ от домена непосредственно клиенту. Но добавьте отдельный DTO для входящих запросов, которые обрабатываются интерфейсом, и сопоставьте его как модель предметной области.
Должен ли я применять SOC и отображать все объекты, входящие и исходящие из домена. Одна из моих основных проблем заключается в том, что добавление нового свойства потребует от меня обновления всех моих объектов как на веб-сайте, так и на домене.
Мне любопытно, что сообщество в настоящее время практикует с DTO в многоуровневой архитектуре, я искал как здесь, так и в репозиториях github, и большинство реализаций следуют первому (хотя это были только примеры проектов).
myDto.NewProperty = myDataEntity.SomePropertyIJustAdded
, а затем щелкнуть лампочку и выбрать «Создать новое строковое свойство». и что вы будете делать с ним через x месяцев; добавьте свойства или дизайн таким образом, чтобы его можно было обновить без радикальных изменений формы в будущем, и это упрощает интеграцию для клиентов. Внутренне вы можете переписать все, если это необходимо - person Caius Jard   schedule 04.10.2020