ドメイン駆動設計をはじめよう

ドメインクドウセッケイヲハジメヨウ

ソフトウェアの実装と事業戦略を結びつける実践技法

ドメイン駆動設計をはじめようの表紙
プログラミング
著者:
Vlad Khononov / 増田 亨 / 綿引 琢磨(ヴラド ホノノフ / マスダ トオル / ワタビキ タクマ)
価格:
¥3,960
出版社:
オライリー・ジャパン
出版日:
2024年07月20日頃
ISBN:
9784814400737
在庫:
1
判型:
単行本
4.4(11 件 / 楽天ブックス)
DDD

なぜ注目されているか

総合2位 ✦ NEW 言及 78 件・うち記事 51 件を掲載
出版前出版日081520222023202420252026

書籍紹介

ドメイン駆動設計を実践するために最初に手にするべき 1 冊!
ソフトウェアの構築において、 開発者は変化する技術トレンドを追うだけでなく、背後にある事業活動 (ビジネスドメイン) を理解する必要があります。ドメイン駆動設計はビジネスドメインの知識に焦点をあてた設計手法です。本書は基礎知識としてドメイン駆動設計の概念や用語の教科書的な説明からはじまり、事業活動を分析し、ビジネス戦略を理解し、ソフトウェア設計をビジネスニーズに合わせるための一連の核となるパターン、原則、実践方法を説明します。

技書の森解説

ドメイン駆動設計をこれから学ぶ人が、用語の暗記ではなく「どの業務にどれだけ設計の手間をかけるか」を判断できるようになるための入門書が『ドメイン駆動設計をはじめよう』 (Vlad Khononov 著、増田 亨、綿引 琢磨 訳、オライリー・ジャパン、2024 年 7 月刊) です。副題はソフトウェアの実装と事業戦略を結びつける実践技法、原書は Learning Domain-Driven Design です。版元の紹介文では、エリック・エヴァンスが提唱した設計手法を、概念と用語の教科書的な説明から始めて、事業活動の分析、ビジネス戦略の理解、設計を事業の必要に合わせるためのパターンと原則へと進める構成が説明されています。

4 部 16 章の構成、事業分析から実装方法の選択まで

本書は 4 部構成です。第 I 部「設計の基本方針」は、1 章の事業活動の分析から、業務知識の発見、事業活動の複雑さへの向き合い方、区切られた文脈どうしの連係までの 4 章で、どこに境界を引き、境界どうしをどうつなぐかを扱います。第 II 部「実装方法の選択」は、トランザクションスクリプトとアクティブレコードによる単純な業務ロジックの実装、ドメインモデルによる複雑な業務ロジックへの対処、イベントソーシングを使った時間軸でのモデル化、レイヤードアーキテクチャやポートとアダプター、コマンド・クエリ責任分離といった技術方式、そして通信までの 5 章です。第 III 部「ドメイン駆動設計の実践」は設計の経験則、設計の進化、イベントストーミング、現実世界での適用の 4 章、第 IV 部「他の方法論や設計技法との関係」はマイクロサービス、イベント駆動型アーキテクチャ、データメッシュの 3 章です。巻末には事例研究の付録 A と演習問題の回答の付録 B が付き、各章の末尾には演習問題が置かれています。

戦略と実装を一冊でつなぐ読みどころ

ドメイン駆動設計が難しいと言われる理由の一つは、エンティティや集約といった実装の部品と、業務をどの単位で切り分けるかという戦略の話が、別々の層の議論として語られがちな点にあります。本書の章立ては、まず業務領域を分類 / 比較して境界を決め、その業務領域の複雑さに応じてトランザクションスクリプトから イベントソーシング までの実装方法を選び分けるという順序になっており、10 章では業務ロジックの実装方法や技術方式の選択、テストの基本方針を経験則として整理しています。すべての機能に重い設計を適用するのでも、すべてを単純な実装で済ませるのでもなく、事業上の重要度と複雑さに見合った手間を配分するという考え方を、判断の手順として持ち帰れる点が読みどころです。訳語にも特徴があり、目次ではサブドメインを業務領域、一般に 境界づけられたコンテキスト と訳される概念を区切られた文脈と表記しています。他の訳書や記事と読み比べるときは、この対応を意識しておくと混乱を避けられます。

前提知識と、他の DDD 本との使い分け

前提として、業務システムの開発に一度は関わり、クラスやモジュールの分割、データベースを使った更新処理を自分で書いた経験があると、各章の選択肢がなぜ必要なのかを実感しながら読めます。チームでの導入を考えている人にとっては、付箋を使って業務の出来事を洗い出す イベントストーミング の進め方や、ドメイン駆動設計を組織に売り込む方法まで扱っている点も実務に直結します。一方で、特定の言語やフレームワークでの実装手順を一歩ずつ追いたい人には、本書の抽象度は高く感じられるかもしれません。原典にあたる『エリック・エヴァンスのドメイン駆動設計』は概念の出どころを確かめるための本、本書はその全体像と判断の順序を短い道のりで掴むための本と位置づけると使い分けやすくなります。設計分野の本を段階ごとに選びたい場合は 設計 / アーキテクチャ本の選び方 も参考になります。

マイクロサービスへの分割の単位に迷っている人、業務の言葉とコードの言葉がずれて改修のたびに説明コストが膨らんでいるチーム、ドメイン駆動設計の本を一度手に取って挫折した人にとって、本書は境界の決め方から実装方法の選択までを一続きの判断として学び直せる一冊です。演習問題と事例研究で自分の担当業務に当てはめながら読み進めれば、設計の打ち合わせで使える共通の語彙と判断基準が手元に残ります。

言及した記事 (51 件)

この本に興味がある方におすすめ

関連する本

Vlad Khononov の他の書籍

関連記事

関連用語

共有: