Задать вопрос
alex4
@alex4
интернет-предприниматель

DDD: использовать ли сущности при построении отчётов?

В моём приложении репозиторий возвращает рекордсет в виде однородной коллекции entity. Entity и репозиторий относятся к одной и тоже сущности, например, Owner: Repository_Owner вернёт коллекцию объектов класса Entity_Owner.


Что делать, если репозиторий должен вернуть разнородные данные? Например, отчёт или статистику, вроде данные владельца и какие-то цифры по каждому: сколько объектов имеет, суммарные\средние финансовые показатели, и т.д.


Либо заводить под каждый тип отчёта свою entity или value object, но тогда их трудно нормально назвать, потому что в предметной области они ничего из себя не представляют и поименовать их сложно. Отчёт и отчёт.


Либо возвращать просто массив и отображать как есть — но это как-то не тру, не DDD.


Что подскажете?


(проект на PHP, но не думаю, что это важно).
  • Вопрос задан
  • 3330 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@zloyusr
Что делать, если репозиторий должен вернуть разнородные данные?

Наверное, неверно когда репозиторий возвращает разнородные данные. Репозиторий — это коллекция объектов в первую очередь. Использовать его как DAL, имхо, дурной тон. Пишем свой ReceiptStatisticCalculator, MonthOrdersReportManager и т.д.

тогда их трудно нормально назвать, потому что в предметной области они ничего из себя не представляют

Пообщайтесь с вашим экономистом или бухгалтером. Мне помогло. Отчеты вполне находят себе представление в предметной области.

У себя использую отдельные объекты для отчетов/статистики. Просто, удобно, и всегда понятно что это и с чем его готовить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы