Задать вопрос
@gitdev

Нужно ли создавать интерфейсы для одного класса?

Если нужно, то в каких случаях.
  • Вопрос задан
  • 275 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
@imhuman
Если есть вероятность, что класс может быть заменен другим в будущем или уже несколько классов с общим интерфейсом подключаются при разных условиях
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Mercury13
Программист на «си с крестами» и не только
1. Если из класса можно вытащить какую-то абстракцию. Например, из объекта «файл» можно вытащить абстракцию «поток». Личное — объект Project реализует интерфейс Modifiable с двумя функциями: modify() и isModified().

2. Для упрощения юнит-тестирования при условии владения.
Предположим, у нас есть класс «класс» (школьный) и класс «ученик». Ученик знает, в каком он классе.
В такой ситуации получается «клубок»: если надо делать ученика, то надо делать и класс.
Этот замкнутый круг можно разорвать, сделав интерфейс ISchoolClass и унаследовав от него класс. При юнит-тестировании заменяем класс на какую-то заглушку.
Ответ написан
Комментировать
@ddd329
Смотря какой класс.
Если это сущность предметной области, то нет, не стоит.
Если это сервисы, то да, стоит.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы