¿Qué es composite?

Composite (Patrón de Diseño)

El patrón Composite es un patrón de diseño estructural que permite tratar objetos individuales y composiciones de objetos de manera uniforme. Su objetivo principal es permitir a los clientes ignorar las diferencias entre objetos individuales y composiciones de objetos.

Conceptos Clave:

  • Componente (Component): Define la interfaz para objetos individuales y composiciones. Puede ser una interfaz o una clase abstracta.
  • Hoja (Leaf): Representa los objetos individuales. Implementa la interfaz del Componente.
  • Contenedor (Composite): Representa la composición de objetos. Almacena objetos Componente hijos y proporciona métodos para gestionarlos (agregar, eliminar). Implementa la interfaz del Componente y delega las operaciones a sus hijos.

Beneficios:

  • Uniformidad: Los clientes pueden tratar los objetos individuales y las composiciones de la misma manera.
  • Extensibilidad: Es fácil agregar nuevos tipos de componentes.
  • Transparencia: Los clientes no necesitan saber si están tratando con una hoja o un contenedor.

Cuándo usarlo:

  • Cuando se necesita representar jerarquías de objetos parte-todo.
  • Cuando se quiere que los clientes puedan tratar los objetos individuales y las composiciones de manera uniforme.

Temas Importantes: