OCP — открыт для расширения, закрыт для модификации. Вместо добавления elif в существующую функцию — добавляешь новый класс. Пример: class PaymentProcessor(ABC): @abstractmethod def process(self). class StripeProcessor(PaymentProcessor). class PayPalProcessor(PaymentProcessor). Новый способ оплаты — новый класс, старый код не трогаем. В Python: dict dispatch, Strategy pattern, плагины через entry_points. Декораторы тоже следуют OCP — добавляют поведение без изменения функции. Принцип помогает избежать регрессий при добавлении фич.
Как работает Open/Closed Principle в Python?
Senior
235 просмотровAFK Offer AI
Как сериализовать ML модель?