Встречается на собеседованиях • сегодня
Что такое Interface Segregation в SOLID
Interface Segregation Principle (ISP) гласит, что клиенты не должны зависеть от интерфейсов, которые они не используют. Лучше создавать узкоспециализированные интерфейсы, чем один общий.
Проблема:
Если интерфейс слишком «толстый», классы вынуждены реализовывать ненужные методы, даже если они им не требуются.
Решение:
Разбить интерфейс на более мелкие, специфичные для конкретных задач.
Пример до ISP:
java
interface Worker {
void work();
void eat();
}
class Engineer implements Worker {
public void work() { /* код */ }
public void eat() { /* код */ } // Нужно реализовать, даже если не используется
}Пример после ISP:
java
interface Workable {
void work();
}
interface Eatable {
void eat();
}
class Engineer implements Workable {
public void work() { /* код */ } // Только нужные методы
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы