patron composite
DESCRIPTION
Exposición de clase sobre el Patrón Composite, explicación breve sobre este patrón.TRANSCRIPT
(Composite)
• Pablo Torres
• Fabián Yuquilema
DESCRIPCION:
• Este patrón se usa cuando se quiere componer objetos en
estructuras tipo Árbol para representar su jerarquización, y
permitir al usuario tratar los objetos tanto individual como
grupalmente de manera uniforme basado en una
composición recursiva.
• Esto simplifica el tratamiento de los objetos creados, ya que
al poseer todos ellos una interfaz común, se tratan todos de
la misma manera.
Problema que soluciona:
• Cuando desarrollar una aplicación como un editor de
dibujos y sistemas de circuitos que permiten a los usuarios
constituir diagramas complejos desde componentes
simples. (Interfaces Graficas)
• Los objetos simples(hojas) y los contenedores de ellos
están en diferentes maneras, aunque los clientes tratan
ambos en la misma manera.
• La clave del patrón Composite:
– Una clase abstracta que representa ambos objetos los
simples(hojas) y sus contenedores.
DIAGRAMA DE CLASES:
• Componente: declara la interfaz para los objetos en la composición, implementa
comportamientos por defecto comunes para todas las clases
apropiadamente, declara una interfaz para acceso y manejo de sus
componentes Hijo.
• Hoja: representa objetos de la composición que no poseen hijos, define un
comportamiento para objetos simples.
• Compuesto: define el comportamiento de los objetos que poseen hijos, guarda
los mismos, e implementa operaciones relacionadas con los hijos en la interfaz
del Componente.
Vista diagrama general del patrón Composite.
EJEMPLO:• UN SISTEMA GRAFICO:
• La subclase compuesta DIBUJO define una agregación de
objetos de grafico.
– Implementa Dibujar() para que llame a dibujar a sus hijos.
– Implementa operaciones para administrar a sus hijos.
– Una estructura de componer objetos compuestos
recursivamente.
Conclusiones:• Define una jerarquía de clases con objetos simples y
compuestos.
• Simplifica las tareas del cliente. Puede tratar un compuesto
como un objeto simple.
• Puede añadir nuevos componentes sin modificar la
estructura ni los códigos de clientes.
• Desventajas:
– El diseño del programa puede ser demasiado general.
– Difícil restringir los componentes de un compuesto (Seguridad)
Bibliografía
• http://dmi.uib.es/people/yuhua/TAP06-07/3.3.pdf
• http://es.wikipedia.org/wiki/Composite_(patr%C3%B3n_de_dise%C3%B1o)
• http://siul02.si.ehu.es/~alfredo/iso/06Patrones.pdf
• http://patronesdediseno.blogspot.com/2009/05/patron-composite.html
• http://chuidiang.blogspot.com/2005/10/el-patrn-composite.html
• http://www.apuntes.delibertad.com/java/patron-composite/ - EJEMPLO