lunes, 3 de noviembre de 2014

Decorator


El Patrón Decorator Permite agregar funcionalidades y responsabilidades a objetos de forma dinámica y transparente para el usuario, esto se realiza por medio de relaciones con otras clases extendiendo su funcionalidad al incorporar las de las clases asociadas, de esta forma el patrón no es dependiente de la Herencia ya que aunque esta puede jugar un papel importante, prevalece el uso de conceptos como la composición al momento de definir comportamientos.


Como vemos en el diagrama de clases, tenemos una SuperClase de la cual heredan clases concretas y las clases Decoradoras que a su vez también pueden ser clases padre de clases decoradoras Concretas...... ¿Que?...
¿Pero si dijimos que el patrón no es dependiente de la herencia porque hablamos de SuperClases?
La pregunta anterior es muy común, ya que puede llegar a ser muy confusa la definición, sin embargo la respuesta es muy simple, con el Decorator la herencia es requerida ya que los decoradores deben tener el mismo tipo de los objetos a decorar pero no se utiliza la Herencia para lograr el comportamiento.... el comportamiento se da al realizar la composición de decoradores con los componentes concretos.....(Cuando Hablamos de comportamiento, nos referimos a las nuevas funcionalidades que usamos...).

No hay comentarios:

Publicar un comentario