Composite: Estructuras en Árbol
Compone objetos en estructuras de árbol y trata objetos individuales y grupos de forma uniforme — itera un sistema de archivos igual sea un archivo o una carpeta.
Por qué importa
Cuando tienes una jerarquía de objetos — menús que contienen submenús, carpetas que contienen archivos, componentes de UI que contienen otros — el código cliente tiende a preguntar "¿es esto una hoja o un contenedor?" antes de actuar. Esa verificación de tipos se dispersa por todos lados y falla al agregar nuevos tipos de nodos. Composite da a hojas y contenedores la misma interfaz. El código cliente llama a size() en un archivo o una carpeta — no sabe ni le importa cuál es.
Dónde aparece Composite en la práctica
El DOM es un Composite — element.textContent funciona en un elemento simple o en todo un subárbol. El árbol de componentes de React es un Composite — renderizar un componente hoja y un componente compuesto usa la misma llamada render(). Los organigramas, las listas de materiales y los árboles de expresiones (donde una subexpresión es en sí misma una expresión) siguen el mismo patrón.
💡Conclusión clave
Cuando los clientes deben tratar ítems individuales y grupos de forma idéntica, Composite les da la misma interfaz — el árbol se reduce a una única llamada.
🔧 Algunos ejercicios pueden tener errores. Si algo parece incorrecto, usa el botón Feedback (abajo a la derecha) para reportarlo — nos ayuda a corregirlo rápido.
Pista: Cuando los clientes deben tratar ítems individuales y grupos de forma idéntica, Composite les da la misma interfaz — el árbol se reduce a una única llamada.
✗ Tu versión