В каком слое должны находиться репозитории?

В каком слое должны находиться классы хранилища? Домен или инфраструктура?

6
задан chobo 17 August 2010 в 03:27
поделиться

2 ответа

Думаю, это зависит от того, как Вы собираетесь на них полагаться.

Вопрос - собираетесь ли Вы позволить себе использовать репозитории изнутри домена?
Если так - то Вы вынуждены их вставлять.

Я сам люблю ставить их вне домена. Итак - типичный жизненный цикл чего-то выглядит так =>

UI => Контроллер => получить совокупный корень из репо => логика вызова через совокупный корень => если создан новый совокупный корень, добавить его в репо.

Иногда контроллер вызывает службу приложения, которая помимо получения корневого каталога и вызова функции выполняет некоторые дополнительные действия. Но идея такая же - домен ничего не знает о настойчивости.


Хотя (на мой взгляд) нет ничего плохого в размещении репозиториев в домене (или, по крайней мере, в их абстракциях), это делает Ваш домен более осведомленным о постоянстве. Иногда это может решить проблемы, но в целом - это определенно усложнит Ваш домен.

Используйте то, что кажется Вам более естественным, и будьте готовы в любой момент изменить Свои пути.

2
ответ дан 8 December 2019 в 05:19
поделиться

Интерфейсы репозитория являются частью домена. Фактическая реализация интерфейсов должна быть частью инфраструктуры.

18
ответ дан 8 December 2019 в 05:19
поделиться
Другие вопросы по тегам:

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