要素とスタイリング
各C4レベルは異なる要素タイプをサポートしています。これらを理解することで、正確で意味のあるアーキテクチャダイアグラムを作成できます。
レベル別の要素
レベル1: システムコンテキスト
最上位レベルで、システムとその環境を表示します:
| 要素 | 説明 |
|---|---|
| ソフトウェアシステム | メインのシステムまたはプロダクト |
| ペルソナ | システムと対話するユーザーまたはペルソナ |
| 外部システム | システムが連携するサードパーティシステム |
レベル2: コンテナ
システム内の技術的な構成要素を表示します:
| 要素 | 説明 |
|---|---|
| サービス | バックエンドサービスまたはマイクロサービス |
| API | REST、GraphQL、またはgRPC API |
| Webアプリ | フロントエンドWebアプリケーション |
| モバイルアプリ | iOSまたはAndroidアプリケーション |
| データベース | SQLまたはNoSQLデータベース |
| キャッシュ | Redis、Memcachedなど |
| メッセージキュー | Kafka、RabbitMQ、SQSなど |
| ファイルストレージ | S3、Blobストレージ、ファイルシステム |
レベル3: コンポーネント
コンテナの内部構造を表示します:
| 要素 | 説明 |
|---|---|
| コントローラー | HTTPリクエストハンドラー |
| ハンドラー | イベントまたはメッセージハンドラー |
| リポジトリ | データアクセス層 |
| アダプター | 外部システムアダプター |
| ミドルウェア | リクエスト/レスポンスプロセッサー |
| ユーティリティ | ヘルパー関数とユーティリティ |
| モデル | ドメインモデルとエンティティ |
レベル4: コード
実装の詳細を表示します:
| 要素 | 説明 |
|---|---|
| クラス | オブジェクト指向クラス |
| インターフェース | インターフェース定義 |
| 構造体 | データ構造 |
| 関数 | スタンドアロン関数 |
| メソッド | クラスメソッド |
| 列挙型 | 列挙型 |
| 定数 | 定数値 |
| 型 | 型定義 |
要素の追加
追加ボタンを使用
- ツールバーの追加をクリック
- 要素タイプを選択
- 名前と説明を入力
- 作成をクリック
コンテキストメニューを使用
- 空のキャンバス上で右クリック
- [要素タイプ]を追加を選択
- 詳細を入力
- 作成をクリック
ドラッグ&ドロップ
コンテナとコンポーネントの場合、サイドバーから要素をキャンバスに直接ドラッグできます。
要素のスタイリング
スタイルオプションへのアクセス
任意の要素を右クリックしてスタイリングにアクセス:
- 背景色: 要素の塗りつぶし色
- 境界色: アウトラインの色
- テキスト色: ラベルの色
- アイコン: 要素を表す視覚的アイコン
カラーパレット
Archylは厳選されたカラーパレットを提供:
- 青系: サービス、API
- 緑系: データベース、ストレージ
- 紫系: 外部システム
- オレンジ系: メッセージキュー、非同期
- グレー系: ユーティリティ、インフラストラクチャ
一貫したスタイリングのヒント
- 同様の要素タイプには同じ色を使用
- 組織の慣習に合わせた色を使用
- 色覚特性に配慮したパレットを考慮
- 色のスキームをプロジェクトノートに記録
オーバーレイ
オーバーレイは、ダイアグラム上の要素を整理するための色付きの視覚的グループです。
オーバーレイの作成
- 追加をクリックし、オーバーレイを選択
- 名前を付ける(例: 「バックエンドサービス」、「フロントエンドアプリ」)
- パレットから色を選択
- 作成をクリック
オーバーレイの使用
- オーバーレイ領域に要素をドラッグ
- オーバーレイは視覚的なグループ化を提供
- オーバーレイはレベル固有
- 各C4レベルで異なるグループ化が可能
オーバーレイのユースケース
- チームの責務でグループ化
- デプロイ単位でグループ化
- ドメイン(DDD境界づけられたコンテキスト)でグループ化
- クリティカルパスコンポーネントのハイライト
- セキュリティ境界の表示
オーバーレイのベストプラクティス
- シンプルに保つ: レベルごとに最大3〜5個のオーバーレイ
- 意味のある名前を使用: 「グループ1」ではなく「決済ドメイン」
- 一貫した色: 関連するグループにはレベル間で同じオーバーレイ色
- 重複を避ける: 重なり合うオーバーレイの混乱を回避
リレーションシップのスタイリング
リレーションシップもスタイリング可能です:
| プロパティ | オプション |
|---|---|
| 色 | 要素の色に合わせるかニュートラルに |
| 線のスタイル | 実線、破線、点線 |
| 線の太さ | 細、中、太 |
| 矢印のスタイル | 標準、中空、なし |
リレーションシップのスタイリングのヒント
- 非同期通信には破線を使用
- 主要なデータフローには太い線を使用
- プロトコル(HTTP、gRPC、イベント)で色分け
次のステップ
- リレーションシップ - 要素を接続する
- C4モデル概要 - モデルを理解する
- 最初のプロジェクトガイド - これらの概念を適用する