Встречается на собеседованиях • сегодня
Что такое принцип Interface segregation
Принцип разделения интерфейсов (ISP) гласит, что клиенты не должны зависеть от методов, которые они не используют. Вместо одного "толстого" интерфейса лучше создать несколько специализированных.
Пример нарушения ISP:
java
interface Worker {
void work();
void eat();
}
class Human implements Worker {
public void work() { /.../ }
public void eat() { /.../ }
}
class Robot implements Worker {
public void work() { /.../ }
public void eat() { /* Не нужно! */ }
}
text
Правильный подход:
```java
interface Workable {
void work();
}
interface Eatable {
void eat();
}
class Human implements Workable, Eatable {
public void work() { /*...*/ }
public void eat() { /*...*/ }
}
class Robot implements Workable {
public void work() { /*...*/ }
}Преимущества: уменьшение связанности, упрощение поддержки, избегание "пустых" реализаций.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы