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

Что такое принцип разделения интерфейсов

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

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

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

class Developer implements Worker {
  work() { /* код */ }
  eat() { /* код */ } // Не все работники должны уметь есть
}

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

typescript
interface Workable {
  work(): void;
}

interface Eatable {
  eat(): void;
}

class Developer implements Workable {
  work() { /* код */ }
}

class Robot implements Workable {
  work() { /* код */ }
  // Не реализует Eatable
}

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

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

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

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

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