Паттерны на ruby: Декоратор

Vladislav Kopylov
1 min readSep 16, 2017

--

Описание:
Данный паттерн предназначенный для динамического подключения дополнительного поведения к объекту.
Декоратор предоставляет гибкую альтернативу практике создания подклассов с целью расширения функциональности.

Пример задачи:
Есть класс <Robot> со своим ограниченным набором атрибутов.
В различных частях приложения от него требуются некоторые дополнительные возможности. При этом класс <Robot> переписать нельзя.

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

--

--

Vladislav Kopylov
Vladislav Kopylov

No responses yet