Динамически добавляет объекту новое поведение, оборачивая его в объект-декоратор с тем же интерфейсом.
$handler = new LoggingDecorator(
new CacheDecorator(
new DatabaseHandler()
)
);Альтернатива наследованию для расширения функциональности. В PHP часто через обертки над PSR-интерфейсами (Logger, Cache, HttpClient).