階層化アーキテクチャ
UI
アプリケーション
ドメインとUIをつなげる.
FacadeやControllerに近い.
ドメイン
ビジネスロジックを置く場所.
インフラストラクチャ
データベースなどとの接触部分.
の4層で,全て下位にのみ依存させるアーキテクチャ.
このままではインフラがドメインを参照できないため,依存性逆転を用いてドメインを最上位にすることが推奨されている.