つくりながら学ぶ! ドメイン駆動設計 実践入門(ツクリナガラマナブ ドメインクドウセッケイ ジッセンニュウモン)
- 著者:
- 山下祐也/増田亨(ヤマシタユウヤ/マスダトオル)
- 出版社:
- マイナビ出版
- 出版日:
- 2026年01月21日頃
- ISBN:
- 9784839988203
- 在庫:
- 在庫あり
書籍紹介
「ドメイン駆動設計は難しい」そう感じて挫折した経験のある方にこそ、手にとっていただきたい一冊です。
ドメイン駆動設計の本質は、ビジネスの中核となる領域を見極め、そこに開発リソースを集中させることにあります。本書では、座学だけで終わらせず、コードを「つくりながら」この設計思想を体得することを目指します。
具体的には「オンライン書店サービスのカタログ管理」を題材に、イベントストーミングによる業務分析、 UML によるモデリング、そして TypeScript での実装まで、設計から実装へ落とし込む一連のプロセスを追体験できます。
「戦略的設計と戦術的設計はどう連携するのか」「ビジネスロジックを技術的詳細からどう切り離すのか」。本書を通じて、これまで断片的だった知識が体系的につながる瞬間を体験できるはずです。実装フェーズでは、特典の GitHub リポジトリにて各章ごとのコードを確認しながら学習を進められます。
著者自身、 TypeScript でドメイン駆動設計を実践する際、具体的な情報が見つからず苦労しました。「同じ悩みを抱える開発者に、実践的な知識とノウハウを届けたい」。それが本書の執筆動機です。学習用ハンズオンとしてはもちろん、現場でのリファレンスとしても長くお使いいただける一冊です。
〇本書の構成
Part 1 ドメイン駆動設計への招待
Chapter 1 はじめに
Chapter 2 ビジネス課題とドメイン駆動設計
Part 2 ビジネス価値の発見
Chapter 3 戦略的設計
Chapter 4 業務知識の獲得
Chapter 5 ドメインモデルの可視化
Part 3 ドメインモデルの実装
Chapter 6 戦術的設計とコード実装
Chapter 7 アーキテクチャ
Chapter 8 実装の準備
Chapter 9 値オブジェクト
Chapter 10 エンティティ
Chapter 11 集約
Chapter 12 ドメインサービス
Chapter 13 リポジトリ
Chapter 14 アプリケーションサービス
Chapter 15 プレゼンテーション層の実装
Part 4 ビジネス価値を守り続ける
Chapter 16 拡張性とメンテナンス
Chapter 17 中核ビジネスロジックの独立性を守る
Chapter 18 ビジネスロジックを技術実装の詳細から分離する
Chapter 19 イベント駆動アーキテクチャ
Chapter 20 Outbox パターンによる確実なイベント発行
Chapter 21 イベントソーシングという選択肢
言及 Qiita 記事 (1 件)
関連記事
ソフトウェア開発の歴史を変えた 5 冊の技術書
アルゴリズムの学問化からコードの可読性革命まで、ソフトウェア開発の方向性を決定づけた 5 冊の技術書を、時代背景とエピソードとともに紹介します。
技術書の内容を実務に活かす方法 - 読んで終わりにしない
技術書で学んだ知識を実際の仕事に適用するための 3 ステップを紹介。「読んだだけ」で終わらせず、スキルに変える具体的な方法を解説します。
1 万行のコードより 1 冊の設計書が勝つ場面
大量のコードを書く力と、適切な設計を選ぶ力は別物です。コード量では解決できない問題に直面したとき、設計の知識がどう効くのかを具体例で解説します。
関連用語
ドメイン駆動設計 (DDD)
ビジネスドメインの知識を中心に据え、ドメインエキスパートと開発者が共通言語で協働しながらソフトウェアを設計する手法
貧血ドメインモデル
ドメインオブジェクトがデータのみを持ち、ビジネスロジックが外部のサービスに散在するアンチパターン
DNS
ドメイン名を IP アドレスに変換するインターネットの名前解決システム
集約
ドメイン駆動設計において、一貫性を保つべきオブジェクト群をまとめ、単一のルートエンティティ経由でアクセスする設計パターン
イベントストーミング
ドメインエキスパートと開発者が協働でビジネスプロセスを可視化するワークショップ手法
オニオンアーキテクチャ
ドメインロジックを中心に据え、外側の層が内側に依存する同心円状のアーキテクチャ