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

Что такое 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() { /* код */ } // Только нужные методы
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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