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