🏗️
DDDアーキテクチャパターン 2026年4月1日

三層分離パターン(ドメイン・アプリケーション・インフラストラクチャ)

📁 パターン 👁 -- 閲覧

三層分離パターン

定義

ソフトウェアを以下の3層に分離する構造パターン:

アプリケーション層 ← ユースケース・オーケストレーション、DBトランザクション管理
ドメイン層        ← 業務ロジック・ドメインオブジェクト・ビジネスルール
インフラ層        ← DB・外部API・メッセージングの技術的実装

依存の方向:アプリ層 → ドメイン層 ← (インターフェース経由)インフラ層

なぜ重要か

  • ドメイン層が技術的詳細(DBの種類、フレームワーク)に依存しなくなる
  • 業務ロジックをテストするのにDBやHTTPが不要になる
  • 層ごとに変更理由が分離される(SRP at architecture level)

適用場面

  • 業務ロジックが複雑なシステム(CRUD主体なら過剰)
  • 長期的に保守するシステム

関連概念

出典

現場で役立つシステム設計の原則(増田亨)第5〜6章