Встречается на собеседованиях • сегодня
Приведи пример использования Interface Segregation Principle
Interface Segregation Principle (ISP) гласит, что клиенты не должны зависеть от интерфейсов, которые они не используют. Лучше иметь много специализированных интерфейсов, чем один общий.
Пример нарушения ISP:
typescript
interface Worker {
work(): void;
eat(): void;
}
class Developer implements Worker {
work() { /* coding / }
eat() { / lunch */ }
}
class Robot implements Worker {
work() { /* assembling */ }
eat() { throw new Error("Robots don't eat!"); } // нарушение!
}
text
**Исправленный вариант:**
```typescript
interface Workable {
work(): void;
}
interface Eatable {
eat(): void;
}
class Developer implements Workable, Eatable {
work() { /* coding */ }
eat() { /* lunch */ }
}
class Robot implements Workable {
work() { /* assembling */ }
}Теперь Robot не зависит от ненужного ему метода eat(), а интерфейсы разделены по ответственностям.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы