第Ⅰ部
設計の基本方針
課題の合意なしに解決方針の話をしても無意味である。解決方針の合意なしに実現手段の話をしても無意味である。
──エフラット・ゴールドラット・アシュラグ*1
*1 出典:Efrat Goldratt-Ashlag, “The Layers of Resistance—The Buy-In Process According to TOC.” (2010).
ドメイン駆動設計の考え方とやり方は大きく二つに分けられます。つまり、戦略的設計と戦術的設計です。ドメイン駆動設計の戦略的な側面では、What(何)とWhy(なぜ)を扱います。どういうソフトウェアを作ろうとしているのか、そして、なぜそのソフトウェアを作ろうとしているのかに取り組みます。それに対し、戦術的な側面の関心事は、How(どうやって)がすべてです。つまり、コンポーネントをどう実装するかです。
私たちの旅は、戦略的な設計、つまり設計の基本方針を決める以下の方法の探求から始まります。
- 第1章では、事業方針を理解する方法を学びます。その事業は顧客にどんな価値を提供するか、競合他社とどう差別化するか、そして、そのために事業活動はどのように組み立てられているかを理解するための考え方とやり方です。事業を構成するさまざまな業務活動は、事業方針とどう関係するか、そして事業活動の構造がソフトウェアの設計にどう影響するかを検討します。
- 第2章では、事業活動を理解するために、ドメイン駆動設計でもっとも基本となる技法を紹介します。つまり同じ言葉(ユビキタス言語)です。同じ言葉を育て、ソフトウェア開発プロジェクトに関わるすべての利害関係者がその言葉を使って認識を合わせていく方法を学びます。
- 第3章では、ドメイン駆動設計の、もう一つの中核技法である ...
Get ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.