Podstawy składni D2

D2 to nowoczesne narzędzie oparte na tekście do tworzenia jasnych, czytelnych schematów. Oznacza to „Deklaratywne rysowanie schematów”. W VPasCode D2 pozwala programistom i architektom rozwiązań przekształcać prosty kod tekstowy w czyste modele wizualne, nie musząc ręcznie rysować kształtów.

Wskazówka:Składnia D2 została zaprojektowana w taki sposób, aby była prosta i łatwa do odczytania. Kształty, połączenia, etykiety i grupy można wszystkie zapisać przy użyciu prostych linii tekstu bez skomplikowanych konfiguracji.

1. Podstawowe kształty i połączenia

Aby stworzyć kształty, po prostu wpisz ich nazwy. Aby połączyć kształty, użyj strzałki (-> dla jednokierunkowego lub <-> dla dwukierunkowego).

# Proste połączenie
Użytkownik -> Serwer WWW: Zapytanie HTTP
Serwer WWW -> Baza danych: Pobierz dane
Baza danych -> Serwer WWW: Zwróć wyniki
Serwer WWW <-> Cache: Synchronizacja odczytu/zapisu

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

2. Typy kształtów i niestandardowe etykiety

Domyślnie kształty pojawiają się jako standardowe prostokąty. Możesz łatwo zmienić typ ikony kształtu lub ustawić niestandardową etykietę, używając właściwości shape właściwości.

# Definiowanie typów kształtów
Klient: {
  shape: osoba
}

Usługi chmurowe: {
  shape: chmura
}

Główna baza danych: {
  shape: cylindryczny
  label: "Główna baza danych (PostgreSQL)"
}

Klient -> Usługi chmurowe -> Główna baza danych

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

3. Definicje klas

D2 domyślnie obsługuje projektowanie struktur opartych na obiektach przy użyciu kształtu class kształt.

KontoKlienta: {
  shape: klasa

  accountId: String
  emailAddress: String

  isActive(): Boolean
}

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

4. Zagnieżdżone kontenery (grupowanie)

D2 ułatwia grupowanie elementów wewnątrz kontenerów przy użyciu standardowych nawiasów klamrowych (“{}). Możesz również łączyć elementy między różnymi grupami przy użyciu notacji kropkowej.

# Grupowanie za pomocą kontenerów
Aplikacja frontendowa: {
  Interfejs UI React -> Menedżer stanu
}

Infrastruktura backendowa: {
  Brama API -> Mikroserwis uwierzytelniania
  Brama API -> Mikroserwis zamówień
}

# Połączenie między grupami
Aplikacja frontendowa.Menedżer stanu -> Infrastruktura backendowa.Brama API: Wywołanie REST

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

5. Stylizacja i kolory

Niestandardowe kolory tła, kolory obramowania i style czcionek można dostosować bezpośrednio w bloku przy użyciu słowa kluczowegostylesłowa kluczowego.

Usługa A: {
  style: {
    wypełnienie: "#e0e7ff"
    obramowanie: "#4338ca"
    promień_narożnika: 8
  }
}

Usługa B: {
  style: {
    wypełnienie: "#fef3c7"
    obramowanie: "#d97706"
  }
}

Usługa A -> Usługa B: Wyślij wiadomość

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

6. Szybki arkusz składni

Koncepcja Przykład kodu Co robi
Kierowane połączenie A -> B Rysuje strzałkę wskazującą od A do B.
Etykieta linii A -> B: Wyślij dane Dodaje tekst na połączeniu strzałki.
Strzałka dwukierunkowa A <-> B Rysuje strzałkę wskazującą w obu kierunkach.
Kontenery / Grupy Serwer: { ... } Grupuje wiele kształtów w jednym polu.
Wybór kształtu kształt: walec Zmienia standardowe pole na ikonę bazy danych, osobę, chmurę, klasę itp.
Komentarze # Mój komentarz Komentarze jednolinijkowe są ignorowane podczas renderowania.
Przewijanie do góry