Что такое Open/Closed Principle (OCP)?

Ответ

Сущности открыты для расширения, закрыты для модификации. Новое поведение добавлять через новые классы/стратегии, а не правкой существующего кода.

// Расширение через новые классы, без изменения Processor
interface Handler { public function supports($request): bool; public function handle($request): mixed; }
class Processor {
    public function __construct(private array $handlers) {}
    public function process($request) {
        foreach ($this->handlers as $h) {
            if ($h->supports($request)) return $h->handle($request);
        }
    }
}
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.