@gitdev

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

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

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

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

Войти через TM ID
Похожие вопросы