Clean Architectureとは Clean Architecture(クリーンアーキテクチャ)とは,レイヤに内側と外側の関係性を持たせるアーキテクチャである. 「外側のレイヤは内側のレイヤだけに依存する」というルールを守ることによって,アプリケーションから技術を分離することが目的である. アプリケーションから技術を分離すると何が嬉しいのか ここでの「技術」とは,HTTPやcsv,MySQLなどのことを意味している. アプリケーションから技術を分離すると,技術を容易に変更できたり,テストコードを書くときに容易にモックできたりする. 例えば,出力をHTTPからcsvに変更したくなったときなどに容易に変更が可能である. 各レイヤの責務 Clean Architectureで提案されているレイヤ構造は以下の画像のようなものである. 内側から,Entitiesレイヤ,Use Casesレイ