Когда Контроллер обходит Сервис, эту организацию часто называют расслабленной многоуровневой архитектурой , поскольку слоям разрешено пропускать соседних соседей:
Согласно Чистая архитектура , глава 34:
обход уровня бизнес-логики нежелателен, особенно если эта бизнес-логика отвечает заобеспечение авторизованного доступа к отдельным записям, например
и
Веб-контроллеры никогда не должны получать прямой доступ к репозиториям
Так что в вашем случае Service A
не должен иметь возможность напрямую звонить на данные Repository B
.Все общение должно осуществляться через Controller B
.