sábado, 6 de junho de 2015

Decorator

Decorator é um "padrão de projeto" (design pattern). Não tem nada a ver com uma norma, é uma forma de arranjar classes de forma a obter certa funcionalidade.

Este padrão permite estender (ampliar ou modificar) funcionalidades em tempo de execução. Em comparação com herança, reduz o número de subclasses para implementar as mesmas variações de funcionalidades.

É extensivamente usado no pacote java.io.

Decorator é construído a partir de uma classe (em geral interface ou classe abstrata) que define os métodos que existem tanto nas classes concretas quanto nos decoradores. As classes concretas implementam a funcionalidade básica que ainda não o foram na superclasse. Os decoradores contém (em geral como atributo), instâncias das classes concretas e estendem a funcionalidade invocando os métodos da classe concreta e acrescentando algo quando necessário. A relação básica entre as classes é ilustrada abaixo.
















 Exemplos deixarão isto mais claro.

Nenhum comentário:

Postar um comentário