-
Notifications
You must be signed in to change notification settings - Fork 0
Composite
Joel Alvarez edited this page Jul 10, 2026
·
1 revision
Composite permite trabajar con elementos individuales y grupos usando una misma interfaz.
La estructura se representa como un árbol. Las hojas contienen el dato final y los nodos compuestos agrupan otros nodos. El cliente ejecuta una operación sobre la raíz y la operación se propaga por el árbol.
En Rust suele aparecer como:
-
enumrecursivos para árboles con variantes conocidas. - Structs con
Vecde hijos. - Traits cuando se necesita polimorfismo abierto.
- Árbol de permisos por módulo y acción:
src/patterns/gof/structural/composite/permissions.rs - Estructura de menú con submenús:
src/patterns/gof/structural/composite/menu.rs - Carpeta con archivos y subcarpetas para calcular tamaño:
src/patterns/gof/structural/composite/file_system.rs
La guía cercana al código vive en:
patterns/gof/structural/composite/README.md