La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Presentado por: PABLO ANDRES DIAZ SAIN HASSAM CAICEDO

Presentaciones similares


Presentación del tema: "Presentado por: PABLO ANDRES DIAZ SAIN HASSAM CAICEDO"— Transcripción de la presentación:

1 Presentado por: PABLO ANDRES DIAZ SAIN HASSAM CAICEDO
PATRON COMPOSITE Presentado por: PABLO ANDRES DIAZ SAIN HASSAM CAICEDO

2 Patrón Composite El patrón Composite permite construir objetos complejos componiendo de forma recursiva objetos similares en una estructura de árbol. Permite manipular todos los objetos contenidos en el árbol de forma uniforme, ya que todos ellos poseen una interfaz común definida en la clase raíz. El patrón Composite hace parte de la familia de los patrones estructurales de J2SE

3 Para representar jerarquías de objetos todo-parte.
Aplicación Para representar jerarquías de objetos todo-parte. Para que los clientes puedan ignorar la diferencia entre los objetos compuestos y los objetos de la estructura de forma uniforme.

4 Participantes del Composite
Componente: Clase abstracta de la que heredan todas las demas Declara la interfaz de todos los objetos de la composición. Declara una interfaz de acceso y manipulación de los componentes hijo Opcionalmente, define una interfaz para acceder al padre de cada componente Hoja: Nodo hoja del árbol de objetos a partir de la estructura de clases No tiene hijos Define el comportamiento de los objetos primitivos del compuesto

5 Participantes del Composite
Compuesto: Superclase que define los métodos necesarios para manejar los objetos que agrupa un nodo compuesto Define el comportamiento de los componentes compuestos Almacena a los hijos Implementa las operaciones de manejo de los componentes hijos Los objetos compuestos normalmente tratan a los objetos que contienen como instancias de Componente Cliente: Maneja los objetos que forman parte del Compuesto como Componentes

6 Estructura (clases)

7 Estructura (objetos)

8 Ejemplo practico

9 Ejemplo Practico

10 Ejemplo Practico

11 Ejemplo Patrón Composite

12 Consecuencias Se define una jerarquía de objetos hoja y objetos compuestos que se van componiendo de forma recursiva El cliente se simplifica, ya que trata los objetos hoja y los compuestos de la misma forma La inclusión de nuevas clases hoja o clases compuestas no modifica la estructura anterior ni el código del cliente La desventaja de poder añadir nuevos componentes surge si se desea restringir el tipo de objetos que forman parte de una compuesto – Necesidad de comprobaciones dinámicas

13 Implementación en Java
public interface Componente { Compuesto obtenerCompuesto(); } public class Hoja implements Componente { public Compuesto obtenerCompuesto(){ return null;

14 Implementación en Java
public class Compuesto implements Componente { private Nombre nombre; private Vector lista; public Compuesto (String nombre){ nombre = new Nombre(nombre); lista = new Vector(); } public void add (Componente componente){ lista.addElement(componente); public boolean remove (Componente componente){ return lista.removeElement(componente);

15 Implementación en Java
public Componente obtenerHijo (int hijo){ return (Componente) lista.elementAt(hijo); } public Compuesto obtenerCompuesto(){ return this; } //termina la clase Compuesto

16 Ejemplos comunes en Java
En el paquete javax.swing se encuentran: Componente --- Component CompuestoAbstracto --- Container CompuestoConcreto – JPanel, JFrame, JDialog Hoja --- JLabel, JTextField, JButton

17 EJERCICIO Situación: Muchas clases de sistemas manufacturados, tales como sistemas de computo o de estéreo, están compuestos de componentes individuales y subsistemas que contienen componentes. Por ejemplo, un sistema de computo puede tener varios chasis que contienen componentes (chasis de disco duro, chasis de alimentación), y buses que contienen tarjetas. El sistema entero esta compuesto

18 EJERCICIO


Descargar ppt "Presentado por: PABLO ANDRES DIAZ SAIN HASSAM CAICEDO"

Presentaciones similares


Anuncios Google