Propósitos
Agregar responsabilidades adicionales a un objeto dinámicamente. Los
Decorators proveen una alternativa flexible para extender funcionalidad por
medio de herencia.
Fortalecimiento del objeto base por medio de wrappers que se llaman
recursivamente.
Problema
Agregar comportamiento o definir el estado de objetos individuales en tiempo de
ejecución. La herencia no es factible debido a que es estática y se aplica a toda una clase.
Se usa cuando
El comportamiento y responsabilidades de un objeto deben ser dinámicamente
modificables.
Las implementaciones concretas deben responsabilidades y comportamiento.
ser desacopladas de las responsabilidades y comportamiento.
El uso de herencia no es práctico.
La funcionalidad específica no debe residir en la alta jerarquía de objetos.
Existen muchas variantes alrededor de una implementación concreta.
No hay comentarios:
Publicar un comentario