Sobes.tech
Назад к вопросам
Junior — Middle
68

Можете объяснить смысл принципа разделения интерфейсов в объектно-ориентированном программировании?

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

sobes.tech AI

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

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

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

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

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

interface Workable {
    void work();
}

interface Eatable {
    void eat();
}

Тогда класс, который только работает, реализует Workable, а класс, который только ест, — Eatable. Это упрощает поддержку и расширение кода.