クリーンアーキテクチャとは

概要

クリーンアーキテクチャは、ソフトウェアの設計手法の一つで、
依存関係を内側から外側に一方向に限定することで、柔軟で保守性の高いシステムを作る考え方です。
アプリケーションのビジネスルールを中心に据え、
外部のフレームワークやデータベース、UIに依存しない構造を目指します。

正式名称

Clean Architecture(クリーンアーキテクチャ)

略称

特になし

特徴

  • 依存関係の逆転:ビジネスロジックが外部技術に依存しない
  • 円形レイヤー構造:内側に重要なルール、外側に周辺技術を配置
  • テスト容易性:ビジネスロジックを切り離して単体テスト可能
  • 保守性・拡張性:UIやDBを変更してもビジネスロジックは影響を受けにくい
  • フレームワーク非依存:特定の技術に縛られない設計が可能

具体例

例えばECサイトを作る場合:

  • エンティティ層(ビジネスルール)
    商品や注文のルール(在庫がなければ注文できない 等)
  • ユースケース層(アプリケーションルール)
    「商品を購入する」という処理の流れを定義
  • インターフェース層
    WebコントローラやAPIエンドポイントでユースケースを呼び出す
  • インフラ層
    データベース(MySQLなど)や外部サービスとの連携

関連用語

用語解説
レイヤードアーキテクチャ階層ごとに責務を分ける設計手法
ヘキサゴナルアーキテクチャ(ポート&アダプタ)外部との接続を明確に分離する設計
オンionアーキテクチャ円形に重なる層で依存を内側に集中させる設計
依存性逆転の原則(DIP)上位レベルが下位レベルに依存しないというSOLID原則の一つ

タイトルとURLをコピーしました