Java

Описание:

Паттерн Декоратор необходим для построения систем-“матрёшек”, где каждый класс можно завернуть в другой, тем самым расширив его функционал. Расширение осуществляется посредством нехитрой композиции.

Пример:

Коды классов:

UML-диаграмма:

Декоратор

Паттерн Декоратор используется в java.io, поэтому в этом пакете так много классов.

Пример своего декоратора для чтения из потока:

Декоратор кодирует ASCII символы (для декодирования нужно пропустить текст через наш класс дважды).

Паттерн Декоратор