PATRÓN COMPOSITE: QUÉ ES Y CÓMO FUNCIONA

El patrón Composite es un patrón de diseño estructural que permite componer objetos en estructuras de árbol y tratar tanto a los objetos individuales (hojas / leaf) como a los grupos (compuestos / composite) de manera uniforme. La estructura típica es:
  • Component: interfaz común (define las operaciones).
  • Leaf: implementación para los objetos simples.
  • Composite: implementación para los objetos que contienen otros componentes (mantiene una lista de hijos y delega operaciones).
En otras palabras: Se puede trabajar con un solo objeto o con un grupo de objetos usando el mismo código.

Cuándo usarlo

  • Menús y submenús (HTML, JSON API responses).
  • Árbol de categorías y subcategorías (e-commerce).
  • Estructura de carpetas y archivos (file system virtual).
  • Formularios complejos con campos y grupos de campos (Symfony Form, Filament).
  • Organigrama de empleados / departamentos.
  • Renderizado de componentes UI anidados (Livewire, Inertia, Blade components recursivos).
  • Expresiones matemáticas o queries booleanas compuestas (AND/OR con subexpresiones).
En el siguiente post se muestra un ejemplo del uso del patrón composite en php