2

Раньше у меня были объявлены DTO на уровне домена. Но это было до того, как я позже понял, что Application Layer должен передавать примитивы на уровне домена для создания экземпляров объектов модели домена, а не DTO. Теперь, когда я это знаю, я не могу использовать DTO, объявленные в слое домена.Где должны быть переданы объекты передачи данных (DTO) в многоуровневом приложении с использованием DDD

Поскольку на моем уровне приложений есть приложения, которые преобразуют данные в DTO и из них, чтобы получать данные на разные уровни, я думаю, что DTO также может быть объявлен на уровне приложения.

Итак, является ли уровень приложения типичным, где должны быть объявлены DTO?

Заранее спасибо.

Обновление: 02/25/2016 Я буду определять интерфейсы для своих приложений на уровне прикладных служб на основе следующей цитаты из руководства по архитектуре приложений .NET, 2nd Edition: «В пределах уровня обслуживания вы определить и внедрить сервисный интерфейс и контракты на поставку данных ».

ответ

2

Поскольку DTO используются для передачи данных из вашего приложения, например клиентских приложений, они должны быть объявлены на уровне, который обрабатывает вызовы службы вашему приложению (самый внешний слой). Если вы называете его прикладным уровнем или чем-то еще (в моей компании мы называем это «сервисный уровень») зависит от вас.

+0

Спасибо, Адриан. Я согласен с вашим ответом. Я только что нашел ответ в Руководстве по архитектуре приложений .NET, второе издание в разделе «Рекомендации по уровню обслуживания», в котором говорится следующее: «В пределах уровня сервиса вы определяете и реализуете интерфейс службы и контракты данных ... « – Robertcode

+0

@Robertcode извините, я только что отредактировал ответ и вставил запятую. Это« donat3llo », который написал ответ :-) –

Смежные вопросы