Adjunte responsabilidades adicionales a un objeto de forma dinámica. Decoradores proporcionan una alternativa flexible a la creación de subclases para ampliar la funcionalidad. El patrón tiene un propósito estructural y se aplica a los objetos.
- para agregar responsabilidades a objetos individuales de forma dinámica y transparente, es decir, sin afectar a otros objetos
- para responsabilidades que pueden ser retiradas
- cuando la extensión por subclases no es práctica