Паттерн: Декоратор (Decorator)
Фрагмент: декоратор на примере сжатия потока и преобразования в 7 битный код [C++]
  1. Stream* aStream = new CompressingStream (
  2. new ASCII7Stream(
  3. new FileStream ( "aFileName")
  4. )
  5. );
  6. aStream->PutInt(12);
  7. aStream->PutString("aString");