1. Nivel 0: Introducción al Modelo C4
El problema de los diagramas de arquitectura
Históricamente, los arquitectos de software usaban cajas y flechas sin ningún estándar. Algunos diagramas eran demasiado complejos (mostrando todas las clases) y otros demasiado simples (mostrando solo 3 cajas que no explicaban nada).
Simon Brown, frustrado con esto, creó el Modelo C4. Su analogía principal es Google Maps: cuando usas un mapa, no ves todo al mismo tiempo. Empiezas viendo continentes, luego países, luego ciudades, y finalmente calles.
Los 4 Niveles de Abstracción
El nombre "C4" proviene de sus 4 niveles iterativos (de mayor a menor abstracción):
- Nivel 1: Contexto (Context) — La vista panorámica. Muestra usuarios interactuando con tu sistema y con otros sistemas externos.
- Nivel 2: Contenedores (Containers) — Haces zoom a tu sistema y ves sus partes ejecutables (ej: la app móvil, el backend, la base de datos).
- Nivel 3: Componentes (Components) — Haces zoom a un contenedor y ves los módulos lógicos o componentes que lo forman (ej: Controladores, Repositorios).
- Nivel 4: Código (Code) — El máximo zoom. Diagramas de clase UML detallando atributos y métodos exactos.