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

Что такое принцип открытости-закрытости

Принцип открытости-закрытости (Open/Closed Principle, OCP) — один из принципов SOLID. Суть: сущности (классы, модули) должны быть открыты для расширения, но закрыты для модификации.

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

typescript
class Rectangle {
  width: number;
  height: number;
}

class AreaCalculator {
calculate(shape: Rectangle): number {
return shape.width * shape.height;
}
}

text
При добавлении круга (`Circle`) придется изменять `AreaCalculator`.  

**Пример с OCP:**  
```typescript
interface Shape {
  area(): number;
}

class Rectangle implements Shape {
  area() { return this.width * this.height; }
}

class Circle implements Shape {
  area() { return Math.PI * this.radius ** 2; }
}

class AreaCalculator {
  calculate(shape: Shape): number {
    return shape.area();
  }
}

Теперь можно добавлять новые фигуры, не меняя AreaCalculator.

Вывод: OCP уменьшает риск ошибок и упрощает поддержку кода.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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