Паттерны на ruby: Декоратор
Описание:
Данный паттерн предназначенный для динамического подключения дополнительного поведения к объекту.
Декоратор предоставляет гибкую альтернативу практике создания подклассов с целью расширения функциональности.
Пример задачи:
Есть класс <Robot> со своим ограниченным набором атрибутов.
В различных частях приложения от него требуются некоторые дополнительные возможности. При этом класс <Robot> переписать нельзя.
Реализация:
Для реализации данной задачи создадим два класса-декоратора <RobotFirstDecorator>, <RobotSecondDecorator> и наследуем их от <SimpleDelegator>. Благодаря чему мы может в любой момент подключать дополнительное поведения для класса <Robot>.