создавать для каждой репы отдельный сервис или лучше использовать сразу с UnitofWork?
Я думаю единственного или правильного ответа не существует. Начнем с репозиториев, нужно ли иметь для каждой сущности отдельный репозиторий или можно обойтить одним репозиторием с дженериком и создавать конкретные репозитории только для какойто уникальной логики? То же самое с сервисом. Есть ли логика которую надо выделить в слой сервисов? Кто делает savechanges? Репозиторий, сервис или юнит? Есть ли работа с разными сервисами и есть ли необходимость комитить изменения в разных репах одной транзакцией? Используется ли Энтити Фреймверк где dbcontext уже реализует юнит оф верк? Я думаю, общая рекомендация - это иметь как можно меньше уровней абстракций и раелизовывать задачу наиболее простым спомобом и не усложнять, просто, "чтобы было".
Тут вопрос скорее к архитектуре, я немного позже опишу что я имею ввиду
Архитектура приложения должна решать конкретную задачу, или ряд похожих задач или быть легко подстраеваемой под пока неизвеснтые задачи... я бы советовал - не усложнять, не создавать ненужных абстракций и сконцентрироваться на конкретной задаче, которую необходимо решить. Удачи!
Обсуждают сегодня