УЧАСНИКИ
Component - Компонент:
Надає інтерфейс для об'єктів, які можуть бути декоровані.
ConcreteComponent -
Конкретний компонент:
Є класом цільового об'єкта, який повинен бути декорований.
Decorator - Декоратор:
Надає загальний інтерфейс для об'єктів-декораторів.
ConcreteDecorator - Конкретний декоратор:
Містить додаткову функціональність, якою буде розширюватися цільовий об'єкт.