Re[4]: DDD: фильтр по временной таблице в Репозиториях
От: zelenprog  
Дата: 11.06.24 07:45
Оценка:
Z>>Я читал, что это неправильно. Для каждой сущности должен быть свой репозиторий.
Z>>У меня есть сущности "Товар", "Аналог", "Упаковка". Соответственно должно быть три Репозитория.

Б>Почему должны? Где ты такое читал?


Вот здесь:
https://blog.byndyu.ru/2011/01/domain-driven-design-repository.html

Проблема: Один Repository на всех
Попытка создать один универсальный Repository для всех доменных сущностей всегда оборачивается нарушением принципа единственности ответственности и разрастанием этого Repository. Зачастую такие универсальные решения нарушают принцип открытости/закрытости (пример с Repository).
Решение
Нужно разделить реализацию универсального Repository на более маленькие и специфические.


Хотя дальше вот что написано:

Проблема: Создание Repository для каждого объекта домена
Отдельный объект Repository нужно делать только для корня агрегации, к которому нам нужен непосредственный доступ. Более подробно в статье Domain-Driven Design: aggregation root.


Но ведь у меня "Аналог" и "Упаковка" — это же корни агрегации.
Значит для них нужны отдельные репозитории.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.