「ドメイン駆動設計をはじめよう」を読んだので、その感想です!
翻訳者の増田さんから献本いただきました。ありがとうございます!🙌
(かなり前にいただいたのに、感想が遅くなってしまってすみません…!)
ドメイン駆動設計って何?という概要から、コードの書き方、発展してアーキテクチャとドメイン駆動設計の関係まで、幅広くわかりやすく学べる本なので、とってもオススメです!
🙆 こんな人にオススメ
ドメイン駆動設計についてこんなイメージを持っている人にオススメです!
- なんか難しそう
- 他の本を読んでみたけどよく理解できなかった
- 何から始めればいいのかわからない
- どんなアーキテクチャと組み合わせればいいのかわからない
- 組織・チームに取り入れるためのアプローチが知りたい
最初に知らなければいけない要素をしっかり抑えてくれていて、どう作っていくのかがわかるコード例も記載があるので、最初の一歩を踏み出す時のお供に最適な本だと思います。
目次
第I部でドメイン駆動設計の基本的な考え方を知れて、第II部でどう実装するかを知れて、第III部で実際のプロジェクトにどう適用できるかを知れて、第 IV部でアーキテクチャとドメイン駆動設計の関係性を知れる。お得すぎん???🫨
- 第I部 設計の基本方針
- 1章 事業活動を分析する
- 2章 業務知識を発見する
- 3章 事業活動の複雑さに立ち向かう
- 4章 区切られた文脈どうしの連係
- 第II部 実装方法の選択
- 5章 単純な業務ロジックを実装する
- 6章 複雑な業務ロジックに立ち向かう
- 7章 時間軸でモデルを作る
- 8章 技術方式
- 9章 通信
- 第III部 ドメイン駆動設計の実践
- 10章 設計の経験則
- 11章 設計を進化させる
- 12章 イベントストーミング
- 13章 現実世界のドメイン駆動設計
- 第 IV部 他の方法論や設計技法との関係
- 14章 マイクロサービス
- 15章 イベント駆動アーキテクチャ
- 16章 データメッシュ
- 結びの言葉
- 付録A ドメイン駆動設計の実践:事例研究
- 付録B 演習問題の回答
1章 事業活動を分析する
ドメイン駆動設計の基本の考え方と、どの業務領域に注力していくべきかが書かれています。
(ドメインを「事業活動または事業領域」、サブドメインを「業務領域」と翻訳されています。)
業務領域は「中核:複雑で、競争力を生み出すところ」「一般:複雑だけど、パッケージ製品などでも対応できるところ」「補完:単純で変更も少ないところ」の3つに分けられます。
その中で、特に注力すべきなのは中核の業務領域であり、多くの時間とエネルギーを振り分ける。
ドメイン駆動設計についてこの章を読めば大枠がわかる、かつ中核の業務領域に注力するという大切な考え方を冒頭に書いてくれていてとても良い。
10章 設計の経験則
業務ロジックの実装方法、技術方式、テスト方針を組み合わせた判定表がめちゃくちゃ良い。
書籍では、それぞれの要素がどういうものなのか、なぜその方式を選択すべきかについても説明されている。
このディシジョンツリーをただ覚えるだけじゃなく、ちゃんと選択と説得ができるように内容をしっかり理解することが大事!
第 IV部 他の方法論や設計技法との関係
ドメイン駆動設計が再び注目されるようになったのは、マイクロサービスアーキテクチャとの相性の良さに起因していると思っていて、ここではそういったいくつかのアーキテクチャとドメイン駆動設計の関係性を説明してくれている。
マイクロサービスと区切られた文脈(境界づけられたコンテキスト)の関係は非対称で、マイクロサービスは区切られた文脈だけど、すべての区切られた文脈がマイクロサービスではないという説明、確かにその通りだと思った。
区切られた文脈に合わせてサービス設計してしまいそうになるけど、サービスを分割するほどサービス間の連携で考慮しなきゃいけないことが増えるので、適切なサービス分割を目指したい。
💬 まとめ
ドメイン駆動設計をはじめたい人は、とりあえずこの一冊を持っておけばいいと思えるくらい、説明している範囲が広くて良い一冊だった📗✨
この本をベースに、より詳細に知識を溜めていきたい場合に、他の本に手を広げていくのが良いと思う。
これまでドメイン駆動設計の本を読んでみたけど、難しくて理解できなかったという方にもオススメな本です。
そして、何より翻訳がわかりやすい!!今までのドメイン駆動設計の書籍では、Ubiquitous Language を「ユビキタス言語」と翻訳されていて、意味が理解しにくかったけど、この本では「同じ言葉」と訳されていて、スムーズに理解できました 💡
説明に難しい言葉が少ないので、他の人に説明する際にも引用しやすそう。
特にビジネスサイドの人に「ドメインが〜」とか「ユビキタス言語が〜」と説明すると心のシャッター閉じられそうだけど、この本ではそういった言葉が適切な日本語として翻訳されていて嬉しい!