O padrão "decorator" permite a adição dinâmica de comportamento a um objecto sem alterar a sua interface.
O padrão decorator tem a seguinte estrutura de classes: