メインコンテンツまでスキップ

クリーンアーキテクチャ入門

クリーンアーキテクチャの「なぜ」を中心に、設計思想を体系的に学ぶコンテンツです。


学習の流れ

本質

ドキュメント内容前提知識
01. なぜクリーンアーキテクチャか解決したい問題、依存の方向の重要性なし
02. 依存ルール依存ルールの本質、内側が外側を知らない理由01
03. 境界境界とは何か、なぜ・どこに引くのか01, 02
04. アーキテクチャの変種ヘキサゴナル/オニオン/クリーンの関係01, 02, 03

実践

依存ルールを正しく守ると、プラグイン構造が自然に生まれます。 実践セクションでは、本質で学んだ原則がどのような構造を可能にするかを解説します。

ドキュメント内容前提知識
プラグインアーキテクチャ依存ルールがプラグイン構造を可能にする理由01, 02
依存の組み立てComposition Rootでの組み立て方01, 02
プラグイン機構動的な発見・登録・有効化の仕組み01, 02

コラム

ドキュメント内容
過剰設計の罠アーキテクチャは目的ではなく手段
トレードオフコストと得られる価値の判断基準

このセクションで学べること

なぜ(Why)

  • なぜこのアーキテクチャが生まれたのか
  • なぜ依存の方向が重要なのか
  • なぜ境界を引く必要があるのか

本質

  • 同心円の図が本当に伝えたいこと
  • ヘキサゴナル、オニオン、クリーンの共通点
  • フレームワークやDBに依存しないとはどういうことか

実践

  • 依存ルールを守った結果として得られるプラグイン構造
  • Composition Rootでの依存関係の組み立て
  • 動的な発見・登録・有効化によるプラグイン機構

判断基準

  • どこに境界を引くべきか
  • いつこのアーキテクチャを使うべきか
  • いつ使わないべきか

対象読者

  • クリーンアーキテクチャの図は見たことがあるが本質がわからない方
  • 「依存性逆転」の意味を説明できない方
  • フレームワークに強く依存したコードを書いている方
  • 設計の「なぜ」を深く理解したい方

関連コンテンツ