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
}
各レイヤーに異なる色を使用すると、依存違反を簡単に見つけられます。
ユースケース
新プロジェクトのコーディング標準とパッケージ構造の確立、依存違反のアーキテクチャレビュー、モノリシックアプリケーションの技術的負債のドキュメント、よりクリーンなアーキテクチャへのリファクタリング戦略の計画。