あらすじ
『エリック・エヴァンスのドメイン駆動設計』は、2003年の刊行だったにもかかわらず、大型ソフトウェア構築時につきまとう不透明感を払拭するための指針として現役技術者に多大な影響を与えた。ある意味、エリック・エヴァンスの先見性によって、今日、必要とされるパタン/アンチパタンが整理されていたためだ。
とはいえ、それからすでに11年。ベースとなるオブジェクト指向はそれほど大きな変革はないものの、この10年の間にコンピューティングの対象は大きく増え、さらにドメイン駆動設計をコトバでは知っているものの、経験値のまだ低い技術者の増加もあり、理論だけではなく現状に則した形で体得する必要性が増している。
本書はDDDの考え方はもちろん、コミュニティや実際のビジネスシーンのなかから実践的な方法論を精錬し、いわば21世紀(初頭)型ドメイン駆動設計を伝授するものであり、現在のニーズに合致する内容で構成されている。
※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。
感情タグBEST3
Posted by ブクログ
> ソフトウェアは、業務側が「こうしたい」と考えていたことを、ソフトウェア開発者が翻訳したようなものになってしまうことが多い。できあがったソフトウェアがドメインエキスパートのメンタルモデルをきちんと反映できているわけではなく、仮にできていたとしても部分的なものに過ぎない。時がたつにつれて、この断絶のコストは高くつくようになる。開発にかかわったメンバーが他のプロジェクトに移ったり転職したりした時点で、ドメインに関する知識のソフトウェアへの翻訳は消え去ってしまう。(事業価値をもたらすのは難しい)
> ここで言う「チーム」とは、ドメインエキスパートとソフトウェア開発者がどちらも参加しているものだ。「私たちとあの人たち」ではない。常に「私たち」だけになる。(DDD がどのように役立つか)
良書。
決して読みやすい本ではないが、それは説明の悪さにあるのではなくて、DDD を現実のサービスに適用する際の難しさ(自由度の高さ)にあるのではないかと感じる。
概念的すぎず、ドメイン、バリューオブジェクト、エンティティなど DDD の基本的な概念が定義から記述されている。慣例はそれとして、「本来それらの概念はどのようなものであるべきか」を DDD の立場から考えるための視点を与えてくれる。
> ソフトウェア開発の世界では、...豊かな振る舞いを備えたドメインの概念を設計するのではなく、まずはデータの属性(カラム)と関連(外部キー)を考えてしまう。(エンティティ)
> Java の世界では、インターフェイス名の後ろに Impl を続けたものを、実装クラスの名前とするのが一般的だ。...実装クラスをこんな名前にできるということは、そもそもセパレートインターフェイスなど必要なかったという証ではないだろうか。(セパレートインターフェイスは必須なのか)
Posted by ブクログ
DDD本では掴めなかった点がサンプルなどから段々クリアになってよかった。
サンプルは徐々に時を経て古くなってきているけどGitHubで全て公開されているので参考にしやすくてとても良い。