Декоратор (Decorator) — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Admin (обсуждение | вклад) (→Назначение) |
Admin (обсуждение | вклад) (→Пример) |
||
Строка 17: | Строка 17: | ||
=== Пример === | === Пример === | ||
+ | Пример. В Java - разновидности файловых потоков. К стандартному файловому потоку могут быть добавлены декораторы буферизации, шифрования, архивации и проч. в любых комбинациях. | ||
+ | |||
+ | Декоратор принимает отдекорированный предыдущими декораторами объект и возвращает объект с дополнительной декорацией. | ||
+ | |||
+ | Пример. Фримен. Кофе и дополнения: шоколад, ваниль, молоко, пена... | ||
+ | |||
+ | === Код === | ||
<source lang="Csharp"> | <source lang="Csharp"> | ||
</source> | </source> |
Версия 07:56, 4 августа 2014
Другое название
Обертка (Wrapper)
Назначение
Динамически добавляет объекту новые свойства (без использования наследования, на этапе выполнения).
Описание
Реализация
Диаграмма классов
Участники
Пример
Пример. В Java - разновидности файловых потоков. К стандартному файловому потоку могут быть добавлены декораторы буферизации, шифрования, архивации и проч. в любых комбинациях.
Декоратор принимает отдекорированный предыдущими декораторами объект и возвращает объект с дополнительной декорацией.
Пример. Фримен. Кофе и дополнения: шоколад, ваниль, молоко, пена...