Sobes.tech
Назад к вопросам
Senior
7

Расскажи про принцип Interface Segregation (ISP) из SOLID.

Компании, где спрашивали
Tangem

Ответ от нейросети

sobes.tech AI

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

Это помогает избежать "толстых" интерфейсов и уменьшает связанность кода.

Например, вместо одного интерфейса:

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

лучше разделить на два:

interface Workable {
    void work();
}

interface Eatable {
    void eat();
}

Тогда класс, который только работает, реализует Workable, а не обязан реализовывать методы, связанные с едой.

Это улучшает читаемость, поддержку и тестируемость кода.