Применяю принцип открытости-закрытости (O) путем использования абстракций (интерфейсов, абстрактных классов). Это позволяет:
Примеры применения:
Стратегия (Strategy): Определяю интерфейс PaymentMethod. Классы CreditCardPayment, PayPalPayment реализуют его. Класс OrderProcessor использует PaymentMethod, что позволяет легко добавлять новые способы оплаты.
java
Фабрика (Factory Method): Использую фабрику для создания объектов. Фабрика возвращает объекты по общему интерфейсу, позволяя добавлять новые типы объектов без изменения кода, использующего фабрику.
java
Декоратор (Decorator): Позволяет динамически добавлять новое поведение объектам, оборачивая их в объекты-декораторы, реализующие тот же интерфейс.
java
Эти подходы делают код более гибким, расширяемым, поддерживаемым и устойчивым к изменениям.