Паттерн Decorator — 25 июля 2026 г. в 12:54:10.592
Паттерн Decorator Decorator — структурный паттерн, который добавляет объектам новое поведение, оборачивая их в объекты-обёртки. Альтернатива наследованию, когда комбинаций поведения много и они меняются в рантайме. Использование 🔹 Когда нужно добавить поведение объекту, не меняя его класс и не трогая остальные объекты. 🔹 Когда наследование порождает взрывной рост классов из-за комбинаций поведений. 🔹 Когда поведение нужно добавлять и убирать динамически в рантайме. Преимущества 1️⃣ Гибкость комбинирования поведений Каждый декоратор делает одно дело. Нужно кеширование + логирование + метрики? Оборачиваете в три слоя в любом порядке. Не нужны метрики — просто не добавляете этот слой. 2️⃣ Единая ответственность Кеширование живёт в одном классе, логирование — в другом. Каждый декоратор легко читать, тестировать и заменять независимо. 3️⃣ Прозрачность для клиента Декоратор реализует тот же интерфейс, что и оригинал. Клиентский код не знает, с чем работает — с оригиналом или с обёрткой. ⚠️ Порядок декораторов имеет значение. Метрики снаружи кеша видят кеш-хиты корректно. Метрики внутри — не видят их вообще. Java Библиотека | Мы в Телеграм

