『ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本』は、ユーザーの実際の業務を深く理解しながらプログラムに反映させてソフトウェアを開発する手法「ドメイン駆動設計」の入門書です。
著者の成瀬允宣さんによれば、ドメイン駆動設計の提唱者であるエリック・エヴァンスが2003年に『Domain-Driven Design』(邦訳は『エリック・エヴァンスのドメイン駆動設計』)を執筆した当時は、業務(ドメイン)の理解よりもとにかく早く開発してリリースすることが重視されていたそうです。
また、当時のソフトウェアはユーザーが抱えるその場の問題解決が重視され、長期的な運用を視野に入れた設計でもなかったとのこと。ですが、ドメイン駆動設計が提唱されて以降、時間はかかりましたが、ユーザーの業務領域(ドメイン)や問題解決に長く寄り添えるソフトウェア開発が行われるようになってきました。
今ではユーザーファーストの考え方が浸透し、ソフトウェア開発もユーザー目線で行われることが当たり前。だからこそ、改めてドメイン駆動設計に大きな価値が見出されているのです。
ソフトウェアが現実の業務で役立つ機能を持ち、業務の変更にも対応しながら安定的に運用されるようにするにはドメイン駆動設計を適用することが欠かせません。ぜひ本書で、その基本を学んでみてください(サンプルコードはC#を採用しています)。
目次
Chapter1 ドメイン駆動設計とは
Chapter2 システム固有の値を表現する「値オブジェクト」
Chapter3 ライフサイクルのあるオブジェクト「エンティティ」
Chapter4 不自然さを解決する「ドメインサービス」
Chapter5 データにまつわる処理を分離する「リポジトリ」
Chapter6 ユースケースを実現する「アプリケーションサービス」
Chapter7 柔軟性をもたらす依存関係のコントロール
Chapter8 ソフトウェアシステムを組み立てる
Chapter9 複雑な生成処理を行う「ファクトリ」
Chapter10 データの整合性を保つ
Chapter11 アプリケーションを1から組み立てる
Chapter12 ドメインのルールを守る「集約」
Chapter13 複雑な条件を表現する「仕様」
Chapter14 アーキテクチャ
Chapter15 ドメイン駆動設計のとびらを開こう
Appendix ソリューション構成