Как правильно организовать проект на ASP.NET Core, чтобы минимизировать дубляж кода?
Начал изучать ASP.NET Core и то как на нем орагиниззованы проекты и появился вопрос
Например, у меня есть сущности User, Book и Order и я например пишу к ним репозитории, сервисы и UseCases
И если взять те же самые репозитории, то для в каждом репозитории будут одинаковые CRUD операции, достать всех пользователей/книги/заказы, достать по id пользователей/книги/заказы, добавить пользователей/книги/заказы, удалить пользователей/книги/заказы
Дальше в сервисах примерно одинаковая и похожая логика и то же самое в UseCases, что делать, как убрать дубляж кода, как вообще правильно организовать крпуный проект на ASP.NET Core?
Извините за навязчивость, но хотелось бы прояснит насчет архитектуры Asp.Net Core Web API. Зачем нужны UseCases если есть сервисы, которые мы пишем и можем вызывать в контроллерах, не будет ли это лишней абстракцией? Зачем вооьще нужны UseCases, если есть сервисы, которые мы пишем в том же слое проекта( насколько я знаю их пишут в слое Application)
Ali-Muhammad Zakarayayev, vertical slices, чтобы код можно было вертикально прочитать спокойно, 1 операция - 1 обработчик команды, всё просто. Всегда знаешь, что конкретный usecase у тебя отвечает за 1 определенный бизнес-процесс, а не так, что у тебя в сервисе может находиться сразу 20 этих самих процессов.