ドメイン駆動開発について ドメイン駆動開発はその名の通り、単なる実装パターンではなく開発要員以外のメンバーをも巻き込んだ開発手法である。 なぜ 3 層に分割するのか ドメイン駆動開発の設計では以下の 3 層に分けてソフトウェアを設計せよとされている。 アプリケーション層 ドメイン層 インフラ層 なぜこのような分割をするのか。突然モバイルアプリ版の開発が始まるかもしれないし、突然 DB が RDB ではなくなるかもしれないからである。 そのような場合に同じドメインのソフトウェア間で再利用できるものがドメイン知識であり、これを含んだものがドメイン層にあたる。 アプリケーション層 メイン関数 アプリケーションサービス (セッション管理など) コントローラー ビュー, メールのテンプレートなどのプレゼンテーション ビュー用の値オブジェクト, DPO ドメイン層 ドメインサービス エンティティ 値オ