Decorator

O padrão de projeto decorator tem como propósito principal agregar responsabilidades adicionais a um objeto dinamicamente. Estas classes decoradores oferecem uma alternativa flexível ao uso de herança para estender uma funcionalidade, com isso adiciona-se uma responsabilidade ao objeto e não à classe. Como exemplo disso temos a criação de interfaces gráficas, onde se deseja adicionar uma barra de rolagem (horizontal e/ou vertical) ou uma borda a uma área de texto. Neste exemplo o mais prudente é inserir o componente em outro objeto que adiciona a borda, um Decorator.

AnexoApresentação (.pdf)
AnexoExercício prático (.zip)
AnexoSolução do exercício (.zip)

Por: Adriano Veiga, Fagner Pimentel e Igor Eloi.