Встречается на собеседованиях • сегодня

Что такое Interface segregation

Принцип разделения интерфейсов (Interface Segregation Principle, ISP) гласит, что клиенты не должны зависеть от интерфейсов, которые они не используют. Вместо одного "толстого" интерфейса лучше создать несколько специализированных.

Пример нарушения ISP:

java
interface Worker {
    void work();
    void eat();
}

class Engineer implements Worker {
    public void work() { /* coding */ }
    public void eat() { /* lunch */ } // Engineer вынужден реализовывать eat()
}

Правильный подход:

java
interface Workable {
    void work();
}

interface Eatable {
    void eat();
}

class Engineer implements Workable {
    public void work() { /* coding */ }
}

Преимущества:

  • Уменьшает связанность
  • Упрощает поддержку
  • Делает код более гибким
  • Позволяет клиентам зависеть только от нужных методов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы