D2構文の基礎

D2は、明確で読みやすい図を描くための現代的なテキストベースのツールです。これは「宣言型図示」を意味します。VPasCodeでは、D2を使用することで、ソフトウェア開発者やソリューションアーキテクトが、手動で図形を描くことなく、シンプルなコードテキストをきれいな視覚的モデルに変換できます。

ヒント: D2構文は、シンプルで読みやすいように設計されています。図形、接続、ラベル、グループはすべて、複雑な設定なしに基本的なテキスト行で記述できます。

1. 基本的な図形と接続

図形を作成するには、名前をそのまま入力するだけです。図形を接続するには、矢印(-> で片方向、<-> で双方向)を使用します。

# 簡単な接続
ユーザー -> Webサーバー: HTTPリクエスト
Webサーバー -> データベース: データ取得
データベース -> Webサーバー: 結果を返す
Webサーバー <-> キャッシュ: 読み書き同期

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

2. 図形の種類とカスタムラベル

デフォルトでは、図形は標準的なボックスとして表示されます。図形のアイコンタイプを簡単に変更したり、カスタムラベルを設定したりするには、shapeプロパティを使用します。

# 図形の種類を定義
クライアント: {
  shape: person
}

クラウドサービス: {
  shape: cloud
}

メインDB: {
  shape: cylinder
  label: "プライマリデータベース (PostgreSQL)"
}

クライアント -> クラウドサービス -> メインDB

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

3. クラス定義

D2は、class図形を使用して、オブジェクト指向構造設計をネイティブにサポートしています。

顧客アカウント: {
  shape: class

  accountId: 文字列
  emailAddress: 文字列

  isActive(): ブール値
}

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

4. ネストされたコンテナ(グループ化)

D2では、標準の波かっこ(”)を使用して、コンテナ内にアイテムをグループ化するのが簡単です。{})。また、ドット表記を使用して、異なるグループ間の要素をリンクできます。

# コンテナによるグループ化
フロントエンドアプリケーション: {
  React UI -> ステートマネージャ
}

バックエンドインフラストラクチャ: {
  APIゲートウェイ -> 認証マイクロサービス
  APIゲートウェイ -> 注文マイクロサービス
}

# グループ間の接続
フロントエンドアプリケーション.ステートマネージャ -> バックエンドインフラストラクチャ.APIゲートウェイ: RESTコール

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

5. スタイリングと色

カスタムの背景色、線の色、フォントスタイルは、ブロック内ですべて直接指定できます。styleキーワードを使用して。

サービスA: {
  style: {
    fill: "#e0e7ff"
    stroke: "#4338ca"
    border-radius: 8
  }
}

サービスB: {
  style: {
    fill: "#fef3c7"
    stroke: "#d97706"
  }
}

サービスA -> サービスB: メッセージ送信

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

6. クイック構文チートシート

概念 コード例 機能
方向付き接続 A -> B AからBへ向かう矢印を描画します。
線ラベル A -> B: データ送信 接続の矢印の上にテキストを追加します。
双方向矢印 A <-> B 両方向を指す矢印を描画します。
コンテナ/グループ サーバー: { ... } 複数の形状を1つのボックスにグループ化します。
形状選択 形状: シリンダー 標準のボックスをデータベースアイコン、人物、クラウド、クラスなどに変更します。
コメント # 私のコメント 1行コメントはレンダリング時に無視されます。
上部へスクロール