Встречается на собеседованиях • сегодня
Что значит буква O в SOLID
Буква O в SOLID означает Open-Closed Principle (Принцип открытости-закрытости).
Суть:
Программные сущности (классы, модули, функции) должны быть открыты для расширения, но закрыты для модификации. Это значит, что новую функциональность нужно добавлять без изменения существующего кода.
Пример нарушения:
python
class Discount:
def apply(self, customer_type):
if customer_type == "regular":
return 0.1 # 10% скидка
elif customer_type == "vip":
return 0.2 # 20% скидка
# При добавлении нового типа придется менять класс!Пример с соблюдением OCP:
python
from abc import ABC, abstractmethod
class DiscountStrategy(ABC):
@abstractmethod
def apply(self):
pass
class RegularDiscount(DiscountStrategy):
def apply(self):
return 0.1
class VIPDiscount(DiscountStrategy):
def apply(self):
return 0.2
class Discount:
def __init__(self, strategy: DiscountStrategy):
self.strategy = strategy
def apply(self):
return self.strategy.apply()Плюсы:
- Уменьшает риск ошибок при добавлении функциональности.
- Упрощает тестирование.
- Делает код гибче.

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