Да, у вас есть правильная идея. Это может быть множество классов и интерфейсов (даже не считая модульных тестов и классов mock / test), но если у вас приложение приличного размера, вы все равно клевете на него. Но для начала, это много работы за небольшую начальную выгоду.
Я видел, как проекты пропускают некоторые реализации сервисов для базовых сервисов, которые просто проходят через репозиторий без какой-либо добавленной стоимости сервиса. Они идут прямо в хранилище с контроллера и, похоже, не сильно теряют.
Существуют и другие способы облегчить бремя некоторых классов, используя инструменты, где это возможно. Например, такие проекты, как AutoMapper , могут помочь упростить объект вашего домена для просмотра сопоставлений моделей.