В своем приложении я использую эту структуру:
Контроллер -> Службы -> Хранилища
Репозитории + фильтры создаю как слой dal. Но я размещаю методы проверки (например, для обязательных полей) на уровне обслуживания. Это правильно? Или лучше будет, если я заменю валидацию на уровне репозитория?
И второй вопрос. В этой архитектуре сервисы могут работать со многими репозиториями. Будет ли хорошо разрешить сервисам работать с другими сервисами или только мне нужно работать с репозиториями?