#レイヤ化アーキテクチャ(LAYERED ARCHITECTURE) ##DDD でのレイヤ化アーキテクチャ アプリケーションの中では、ドメインのロジック以外にも様々な処理が行われる。 例えば、画面表示に関する処理・トランザクション制御・データベースアクセス・メール送信などがある。 もし、これら他の関心事の中にドメインロジックが紛れ込んでいると、コードは非常に読みづらくなり保守もしづらくなる。 この問題を回避するため、ドメインは他の感心事から分離しなければならない。 分離の手法は多々あるが、一般的に広く受け入れられている手法として、レイヤ化アーキテクチャがある。 レイヤ化アーキテクチャでは、アプリケーションが持つ関心事をいくつかの層に分離する。 各層に含まれる要素は、同じ層内の要素かもしくは下位の層にのみ依存し、上位の層には依存しないようにする。 上位の層と連携する場合は、コールバックやオ