PlantUML コンポーネント図: レイヤードアーキテクチャ

PlantUMLでクリーンなレイヤードアーキテクチャ図を描画。プレゼンテーション層、ビジネスロジック層、データアクセス層を適切な依存方向で表示。

Component Diagrams

詳細な説明

コンポーネント図によるレイヤードアーキテクチャ

レイヤードアーキテクチャはモノリシックアプリケーションの最も一般的なパターンです。PlantUMLコンポーネント図はレイヤー境界と依存ルールを明確に示せます。

3層アーキテクチャ

@startuml
title 3層アーキテクチャ

package "プレゼンテーション層" {
  [React Frontend] as UI
  [REST Controllers] as API
}

package "ビジネスロジック層" {
  [User Service] as US
  [Order Service] as OS
}

package "データアクセス層" {
  [User Repository] as UR
  [Order Repository] as OR
}

package "インフラストラクチャ" {
  database "PostgreSQL" as DB
}

UI --> API
API --> US
API --> OS
US --> UR
OS --> OR
UR --> DB
OR --> DB
@enduml

依存ルール

レイヤードアーキテクチャの重要なルールは依存は下方向にのみ向くことです。プレゼンテーション層はビジネスロジックに依存し、それがデータアクセスに依存します。逆方向は決して許されません。

Clean Architectureバリアント

Clean Architectureでは、依存矢印は中心(Entities)に向かって内側を指します。Interface AdaptersがフレームワークとUseCasesの間のギャップを埋めます。

レイヤーのカラーコーディング

skinparam package {
  BackgroundColor<<Presentation>> LightBlue
  BackgroundColor<<Business>> LightGreen
  BackgroundColor<<Data>> LightYellow
}

各レイヤーに異なる色を使用すると、依存違反を簡単に見つけられます。

ユースケース

新プロジェクトのコーディング標準とパッケージ構造の確立、依存違反のアーキテクチャレビュー、モノリシックアプリケーションの技術的負債のドキュメント、よりクリーンなアーキテクチャへのリファクタリング戦略の計画。

試してみる — PlantUML Editor

フルツールを開く