D2-Syntax-Grundlagen

D2 ist ein modernes, textbasiertes Werkzeug zum Erstellen klarer, lesbarer Diagramme. Es steht für „deklaratives Zeichnen“. In VPasCode ermöglicht D2 Softwareentwicklern und Lösungsarchitekten, einfachen Code-Text in saubere visuelle Modelle umzuwandeln, ohne Formen manuell zeichnen zu müssen.

Tipp:Die D2-Syntax ist so gestaltet, dass sie einfach und leicht lesbar ist. Formen, Verbindungen, Beschriftungen und Gruppen können alle mit einfachen Textzeilen ohne komplizierte Einstellungen geschrieben werden.

1. Grundformen und Verbindungen

Um Formen zu erstellen, geben Sie einfach deren Namen ein. Um Formen zu verbinden, verwenden Sie einen Pfeil (-> für eine Richtung oder <-> für zwei Richtungen).

# Einfache Verbindung
Benutzer -> Web-Server: HTTP-Anfrage
Web-Server -> Datenbank: Daten abrufen
Datenbank -> Web-Server: Ergebnisse zurückgeben
Web-Server <-> Cache: Lese-/Schreib-Synchronisation

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

2. Formtypen und benutzerdefinierte Beschriftungen

Standardmäßig erscheinen Formen als Standardfelder. Sie können den Symboltyp einer Form leicht ändern oder eine benutzerdefinierte Beschriftung mithilfe der Eigenschaft shape festlegen.

# Formtypen definieren
Kunde: {
  shape: person
}

Cloud-Dienste: {
  shape: cloud
}

Haupt-Datenbank: {
  shape: zylinder
  label: "Primäre Datenbank (PostgreSQL)"
}

Kunde -> Cloud-Dienste -> Haupt-Datenbank

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

3. Klassendefinitionen

D2 unterstützt natively die objektorientierte Strukturgestaltung mit der classForm.

Kundenkonto: {
  shape: class

  accountId: String
  emailAddress: String

  isActive(): Boolean
}

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

4. Verschachtelte Container (Gruppierung)

D2 macht es einfach, Elemente innerhalb von Containern mithilfe von Standard-Klammern (“{}). Sie können auch Elemente über verschiedene Gruppen hinweg mithilfe der Punkt-Notation verbinden.

# Gruppierung mit Containern
Frontend-Anwendung: {
  React-Oberfläche -> Zustands-Manager
}

Backend-Infrastruktur: {
  API-Gateway -> Auth-Mikroservice
  API-Gateway -> Bestell-Mikroservice
}

# Verbindung über Gruppen hinweg
Frontend-Anwendung.Zustands-Manager -> Backend-Infrastruktur.API-Gateway: REST-Aufruf

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

5. Styling & Farben

Benutzerdefinierte Hintergrundfarben, Strichfarben und Schriftstile können direkt innerhalb des Blocks mithilfe des Schlüsselworts styleSchlüsselwort angepasst werden.

Dienst A: {
  style: {
    füllen: "#e0e7ff"
    strich: "#4338ca"
    eckenradius: 8
  }
}

Dienst B: {
  style: {
    füllen: "#fef3c7"
    strich: "#d97706"
  }
}

Dienst A -> Dienst B: Nachricht senden

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

6. Schnellreferenz für die Syntax

Konzept Code-Beispiel Was es tut
Gerichtete Verbindung A -> B Zeichnet einen Pfeil von A nach B.
Verbindungslabel A -> B: Daten senden Fügt Text über dem Verbindungs-Pfeil hinzu.
Zweiseitiger Pfeil A <-> B Zeichnet einen Pfeil, der in beide Richtungen zeigt.
Container / Gruppen Server: { ... } Gruppiert mehrere Formen zu einer einzigen Box.
Formenauswahl form: zylinder Ändert die Standardbox in ein Datenbank-Symbol, eine Person, eine Wolke, eine Klasse usw.
Kommentare # Meine Kommentar Einzellinien-Kommentare werden während der Darstellung ignoriert.
Nach oben scrollen