Conceptos básicos de la sintaxis de D2

D2 es una herramienta moderna basada en texto para crear diagramas claros y legibles. Significa “Diagramación declarativa”. En VPasCode, D2 permite a los desarrolladores de software y arquitectos de soluciones convertir texto de código simple en modelos visuales limpios sin tener que dibujar formas manualmente.

Consejo:La sintaxis de D2 está diseñada para ser simple y fácil de leer. Las formas, conexiones, etiquetas y grupos se pueden escribir todos usando líneas de texto básicas sin configuraciones complejas.

1. Formas básicas y conexiones

Para crear formas, simplemente escriba sus nombres. Para vincular formas, use una flecha (-> para una sola dirección o <-> para dos direcciones).

# Conexión simple
Usuario -> Servidor web: Solicitud HTTP
Servidor web -> Base de datos: Obtener datos
Base de datos -> Servidor web: Devolver resultados
Servidor web <-> Caché: Sincronización de lectura/escritura

D2 simple connection diagram showing request and response flows between User, Web Server, Database, and Cache - Text to diagram editor - VPasCode

2. Tipos de formas y etiquetas personalizadas

Por defecto, las formas aparecen como cuadros estándar. Puede cambiar fácilmente el tipo de icono de una forma o establecer una etiqueta personalizada usando la propiedad forma propiedad.

# Definición de tipos de formas
Cliente: {
  forma: persona
}

Servicios en la nube: {
  forma: nube
}

Base de datos principal: {
  forma: cilindro
  etiqueta: "Base de datos principal (PostgreSQL)"
}

Cliente -> Servicios en la nube -> Base de datos principal

D2 custom shapes showing person, cloud, and database cylinder icons linked in sequence - Text to diagram editor - VPasCode

3. Definiciones de clases

D2 admite de forma nativa el diseño de estructuras orientadas a objetos usando la forma clase forma.

CuentaCliente: {
  forma: clase

  idCuenta: String
  correoElectrónico: String

  estaActivo(): Boolean
}

D2 class diagram displaying CustomerAccount properties and isActive method - Text to diagram editor - VPasCode

4. Contenedores anidados (Agrupación)

D2 facilita agrupar elementos dentro de contenedores utilizando corchetes estándar (“{}). También puedes vincular elementos entre grupos diferentes utilizando la notación de puntos.

# Agrupación con contenedores
Aplicación Frontend: {
  Interfaz React -> Gestor de Estado
}

Infraestructura Backend: {
  Puerta de enlace de API -> Microservicio de Autenticación
  Puerta de enlace de API -> Microservicio de Pedidos
}

# Conexión entre grupos
Gestor de Estado de la Aplicación Frontend -> Puerta de enlace de API de la Infraestructura Backend: Llamada REST

D2 nested containers grouping Frontend Application and Backend Infrastructure modules - Text to diagram editor - VPasCode

5. Estilos y Colores

Los colores de fondo personalizados, los colores de trazo y los estilos de fuente se pueden personalizar directamente dentro del bloque utilizando la palabra clavestylepalabra clave.

Servicio A: {
  style: {
    fill: "#e0e7ff"
    stroke: "#4338ca"
    border-radius: 8
  }
}

Servicio B: {
  style: {
    fill: "#fef3c7"
    stroke: "#d97706"
  }
}

Servicio A -> Servicio B: Enviar Mensaje

D2 styled blocks showing custom background colors and border styles for Service A and Service B - Text to diagram editor - VPasCode

6. Hoja de referencia rápida de sintaxis

Concepto Ejemplo de código Qué hace
Conexión dirigida A -> B Dibuja una flecha que apunta desde A hasta B.
Etiqueta de línea A -> B: Enviar Datos Agrega texto encima de la flecha de conexión.
Flecha bidireccional A <-> B Dibuja una flecha que apunta en ambos sentidos.
Contenedores / Grupos Servidor: { ... } Agrupa múltiples formas en una sola caja.
Selección de forma forma: cilindro Cambia la caja estándar en un icono de base de datos, persona, nube, clase, etc.
Comentarios # Mi comentario Los comentarios de una sola línea se ignoran durante la representación.
Scroll al inicio