Propósito
Desarrollar una forma fácil de hacer jerarquías en forma de árbol de una complejidad arbitraria, permitiendo al mismo tiempo que todos los elementos de la estructura sean operados con una misma interfaz.
Aplicabilidad
Use el patrón Composite cuando la estructura de la disposición de poseer cualquier nivel de complejidad y sea dinámica, cuando se quiera manejar la estructura del elemento deforma uniforme usando métodos comunes, cuando exista un componente con estructura rama-hoja o parte=todo.
Implementación
El patrón Composite necesita de los siguientes elementos:
• Component: La interfaz en la que se definen los métodos disponibles para todas las partes de la estructura.
• Composite: Esta clase queda definida por los componentes que alberga; está compuesta por sus componentes.
• Leaf: La clase que que implementa la interfaz Component y que proporciona una implementación para todos los métodos de Component, se diferencia de las clases Composite en que esta no tiene referencia a otros objetos Composite, entonces Leaf representa el nivel más bajo de la jerarquía.
Ventajas e Inconvenientes
Composite nos brinda una interfaz muy fácil de manejar además de proporcionar una gran flexibilidad en cuanto a estructura, permite llamar el mismo método en todos los componentes singulares sin darle mayor relevancia importancia al sitio actual sobre la estructura, el patrón Composite suele ser difícil de probar y depurar por causa de su gran flexibilidad, el uso de interfaces puede ser inconveniente cuando se pretenden definir atributos y se aspira proveer implementaciones por defecto para que los nodos hereden este comportamiento
Patrones Relacionados
• Chain of responsability: Se emplea cuando hay que propagar los métodos hacia lo alto del árbol.
• Flyweight: Reutiliza cuando el numero de objetos tramitados producidos por el árbol es muy grande.
• Iterator: Se usa para encapsular el recorrido del árbol.
• Visitor: Facilita la centralización del comportamiento, porque de otra forma correspondería ser dividido entre las clases hoja y las ramas.
miércoles, 27 de mayo de 2009
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario