Использование интерфейсов не имеет ничего общего с производительностью (за исключением, может быть, производительности команды разработчиков, то есть скорости разработки). Больше о контроле зависимостей и разделении несвязанных частей программы.
Если вы напрямую зависите от конкретного класса C в своем коде, этот код сложнее для модульного тестирования, среди прочего. Если вместо этого вы зависите от интерфейса, создать модальную реализацию в ваших модульных тестах совсем несложно.
Конечно, вам , возможно, не нужно загружать все методы вашего класса в родительский интерфейс. Фактически, вам может не понадобиться один родительский интерфейс . Проанализируйте использование этого класса и (особенно с таким большим классом, как ваш) есть вероятность, что вы найдете две или даже более разные группы методов, используемые разными клиентами (например, одна группа клиентов только запрашивает состояние объекта, а другая обновляет его ). Это позволяет создать два или более различных интерфейса, каждый из которых намного проще и чище.
Этот анализ может даже привести к выводу, что ваш класс пытается сделать слишком много вещей (вместо единоличной ответственности ), и вам лучше будет извлечь часть его содержимого в отдельный учебный класс! Другими словами, как только вы начинаете думать об интерфейсах и программировать их, вы начинаете видеть дизайн на другом уровне, и это может привести к улучшению дизайнерских решений.
Все это говорит о том, что, если после проведенного выше анализа вы по-прежнему не используете интерфейс для своего класса модели, запишите об этом. Пересмотреть его, скажем, через полгода. Затем, , если вы все еще чувствуете, что он не окупился, просто сбросьте его . Интерфейсы - как и любой другой элемент вашей программы - всегда должны иметь четкую цель и причину существования (и лучше, чем "мой коллега сказал мне создать его"). Они не панацея. Если вы используете их умно, вы делаете свой код лучше. Если вы используете их глупо, вы делаете свой код еще хуже. Тот факт, что вы разместили этот вопрос здесь, означает, что вы хотите узнать, как правильно их использовать, и это хорошо: -)