IT資格用語解説基本情報技術者試験・システム設計
クリーンアーキテクチャ
更新日:
用語解説
クリーンアーキテクチャは、重要な業務ルールを中心に置き、UI、DB、Webフレームワーク等の詳細から独立させるため、ソースコードの依存方向を内側へ向ける設計方針です。
■ 試験で押さえるポイント
中心に企業全体の業務規則であるエンティティ、その外側にアプリ固有のユースケースを置き、外側へインタフェース変換とフレームワーク・ドライバを配置します。
依存性の規則では、内側の層は外側の具体実装を知らず、外側が内側で定義したインタフェースを実装する依存性逆転を使います。
DBやUIを交換しやすく、業務ルールを単体テストしやすくしますが、全システムに多数の層・抽象を作ると複雑さが増します。
同心円状のフォルダ名を作るだけではなく、コンパイル時依存、データ受渡し、責任境界が内向きかを確認します。
■ 選択肢での判断ポイント
依存方向が外側の詳細から内側の業務規則へ向く点が決め手です。DB中心又はフレームワーク中心の設計ではありません。
例: 注文ユースケースがDB製品を直接呼ばず、内側で保存インタフェースを定義し、外側のSQL実装がそれを実装すればDB交換の影響を外側へ限定できます。