little-handslittle-hands

ドメイン駆動設計 サンプルコード&FAQ

  • 物販商品(倉庫から発送)
    紙書籍+PDF版
    ネコポス可能
    ¥ 2,300
  • ダウンロード商品
    PDF版
    ¥ 1,980

前書「ドメイン駆動設計モデリング/実装ガイド」(https://little-hands.booth.pm/items/1835632)では、ドメイン駆動設計(以下、DDD) の基礎について解説し、ありがたいことに参考になったという声を多くいただきました。 しかし、実際に開発に適用しようとするとつまずくことは多く、質問箱(https://peing.net/ja/little_hands)では1 年間に数百件の質問をいただいています。 そこで、本書では前書で解説しきれなかった重要トピック「モデリング」「集約」「テスト」について解説し、その他のトピックでは頻出の質問への回答と具体的なサンプルコードを示しました。 モデリングに関しては、モデリング/実装ガイドで示したモデリング手法から、より成果を出しやすい形式にアップデートした内容を紹介します。 本書の構成 「第2 章モデリング」「第5 章集約」「第7 章テスト」は解説が中心、それ以外の章はQ&A が中心となっています。Q&A は、質問箱に寄せられた質問から重要なもの、頻出なものをピックアップしています。 具体例を多くし、本書のみでも読めるように心がけていますが、基礎的な概念の解説が必要な場合はモデリング/実装ガイドを参照してください。 「第1 章DDD 全般」では、DDD の目的や導入方法などに関する質問に対して解説します。 「第2 章モデリング」では、DDD で実践しやすいモデリング手法と、その結果をコードに落とすまでを具体的に解説します。 「第3 章エンティティ/値オブジェクト」「第4 章リポジトリ」「第6 章ドメインサービス/ファクトリー」では、各トピックの頻出の質問に対して、サンプルコードを交えて解説します。 「第5 章集約」では、集約を実装する上で一番迷う、複数集約の整合性を確保する実装や、集約の設計について解説します。 「第7 章テスト」では、DDD における基本的なテスト方針と、レイヤーごとの具体的なテストコードを解説します。 「第8 章アーキテクチャ」では、例外処理、外部サービスへのアクセス、認証情報の扱い、といったアーキテクチャ全般における頻出質問に対してサンプルコードを交えて解説します。 「第9 章その他」では、プログラミング一般における頻出質問に対して解説します。 DDD ではモデリングとコーディングがセットで価値が最大限発揮されますが、寄せられる質問は時間が多く割かれるコーディングに関するものが多いです。また、手を動かすにあたって具体的に詰まることが多いのもコーディングであることも事実です。そのため、本書ではモデリングの重要性を考慮しつつも、ボリュームとしてはコーディングに関するものが多くなります。ご了承ください。 === 【筆者プロフィール】 DDDやアジャイルプラクティスに関して書籍、質問箱、ブログ、YouTubeなどで発信しています。株式会社ログラス所属。 ドメイン駆動設計 モデリング/実装ガイド: https://little-hands.booth.pm/items/1835632 ブログ: https://little-hands.hatenablog.com/ Twitter: https://twitter.com/little_hand_s (プロフィールに質問箱、YouTubeなどへのリンクがあります)

前書「ドメイン駆動設計モデリング/実装ガイド」(https://little-hands.booth.pm/items/1835632)では、ドメイン駆動設計(以下、DDD) の基礎について解説し、ありがたいことに参考になったという声を多くいただきました。 しかし、実際に開発に適用しようとするとつまずくことは多く、質問箱(https://peing.net/ja/little_hands)では1 年間に数百件の質問をいただいています。 そこで、本書では前書で解説しきれなかった重要トピック「モデリング」「集約」「テスト」について解説し、その他のトピックでは頻出の質問への回答と具体的なサンプルコードを示しました。 モデリングに関しては、モデリング/実装ガイドで示したモデリング手法から、より成果を出しやすい形式にアップデートした内容を紹介します。 本書の構成 「第2 章モデリング」「第5 章集約」「第7 章テスト」は解説が中心、それ以外の章はQ&A が中心となっています。Q&A は、質問箱に寄せられた質問から重要なもの、頻出なものをピックアップしています。 具体例を多くし、本書のみでも読めるように心がけていますが、基礎的な概念の解説が必要な場合はモデリング/実装ガイドを参照してください。 「第1 章DDD 全般」では、DDD の目的や導入方法などに関する質問に対して解説します。 「第2 章モデリング」では、DDD で実践しやすいモデリング手法と、その結果をコードに落とすまでを具体的に解説します。 「第3 章エンティティ/値オブジェクト」「第4 章リポジトリ」「第6 章ドメインサービス/ファクトリー」では、各トピックの頻出の質問に対して、サンプルコードを交えて解説します。 「第5 章集約」では、集約を実装する上で一番迷う、複数集約の整合性を確保する実装や、集約の設計について解説します。 「第7 章テスト」では、DDD における基本的なテスト方針と、レイヤーごとの具体的なテストコードを解説します。 「第8 章アーキテクチャ」では、例外処理、外部サービスへのアクセス、認証情報の扱い、といったアーキテクチャ全般における頻出質問に対してサンプルコードを交えて解説します。 「第9 章その他」では、プログラミング一般における頻出質問に対して解説します。 DDD ではモデリングとコーディングがセットで価値が最大限発揮されますが、寄せられる質問は時間が多く割かれるコーディングに関するものが多いです。また、手を動かすにあたって具体的に詰まることが多いのもコーディングであることも事実です。そのため、本書ではモデリングの重要性を考慮しつつも、ボリュームとしてはコーディングに関するものが多くなります。ご了承ください。 === 【筆者プロフィール】 DDDやアジャイルプラクティスに関して書籍、質問箱、ブログ、YouTubeなどで発信しています。株式会社ログラス所属。 ドメイン駆動設計 モデリング/実装ガイド: https://little-hands.booth.pm/items/1835632 ブログ: https://little-hands.hatenablog.com/ Twitter: https://twitter.com/little_hand_s (プロフィールに質問箱、YouTubeなどへのリンクがあります)