Oddziel jednostkę pracy od usług lub repo

Próbuję oddzielić moją jednostkę pracy od moich usług lub repozytorium, aby nie musieć dotykać kodu UoW, gdy chcę dodać nową usługę. Jak mam to zrobic?

_categoryService = _unitOfWork.Get<ICategoryService>();

więc zamiast

_unitOfWork.CategoryService.Add(category)

Mogę tylko powiedzieć;

_categoryService.Add(category);

questionAnswers(1)

yourAnswerToTheQuestion