エリック・エヴァンスのドメイン駆動設計 電子書籍(牧野 祐子 牧野 祐子 今関 剛 今関 剛 今関 剛 和智 右桂 和智 右桂 Eric Evans)|翔泳社の本
  1. ホーム >
  2. 電子書籍 >
  3. エリック・エヴァンスのドメイン駆動設計

エリック・エヴァンスのドメイン駆動設計

翻訳
原著
監修
翻訳
原著
翻訳
原著

形式:
電子書籍
発売日:
ISBN:
9784798126708
価格:
5,720(本体5,200円+税10%)
カテゴリ:
開発管理
キーワード:
#開発環境,#開発手法,#プログラミング,#システム運用
電子書籍

ドメイン駆動設計の定番書 問題解決にフォーカスした設計パターン

「この本は、思慮深いソフトウェア開発者全員の必携書である。」
---Kent Beck 氏推薦

「Eric が見事にとらえたのは、熟練のオブジェクト設計者が常々用いてきた設計プロセスの一部でありながら、グループとして見ると、この業界の他の人々へうまく伝えられずにいたものだ。
これまで我々は、この知識を断片的には提供してきた。
しかし、ドメインロジックを構築するための原理をまとめ上げ、体系化したことはなかった。本書は重要である。」
---『Enterprise Java Programming with IBM WebSphere』の著者 Kyle Blown氏 推薦

ソフトウェア開発コミュニティでは、ドメインモデリングがソフトウェア設計の中心であることが広く認められてきています。ドメインモデルを通して、ソフトウェア開発者は豊富な機能を表現し、それをユーザの要求に本当の意味で応えるソフトウェアの実装に移すことができます。しかし、明らかに重要であるにもかかわらず、効果的なドメインモデリングをどのようにソフトウェア開発プロセスに組み入れるかを説明する、実用的なリソースはほとんど存在しませんでした。ドメイン駆動設計はこの要求に応えるものです。これは具体的な技術についての本ではなく、読者にドメイン駆動設計への体系的なアプローチを提示するものです。設計のベストプラクティスの応用的なセット、経験に基づくテクニック、さらに、複雑なドメインに直面するソフトウェアプロジェクトにおける開発を容易にする基本原則を紹介する一冊です。
【原書タイトル】Domain-Driven Design: Tackling Complexity in the Heart of Software

本書で学べること

  • チームメンバー全員に同じ言語で会話をさせる
  • モデルと実装をより深く結びつける
  • ポイントとなる特徴を、モデルにおいてはっきりさせる
  • ドメインオブジェクトのライフサイクルを管理する
  • 安全に結合できるドメインコードを入念に作成する
  • 複雑なコードを明白で予測できるものにする
  • ドメインビジョン声明文を記述する
  • 複雑なドメインのコアを蒸留する
  • モデルに必要な、暗黙的な概念を掘り出す
  • アナリシスパターンを適用する
  • デザインパターンをモデルに関係づける
  • 巨大なシステムでモデルの整合性を維持する
  • 同じプロジェクトで複数のモデルが共存できるようにする
  • 大規模な構造によりシステムを構成する
  • モデリングのブレイクスルーを認識して、それに対応する

※本電子書籍は同名出版物を底本とし作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

(翔泳社)

目次の登録はありません。
本書は付属データの提供はございません。

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。
この商品の「よくある質問」はありません。

現在表示されている正誤表の対象書籍

書籍の種類:電子書籍

書籍の刷数:全刷


※重版をした際に、内容が修正されている場合があります。「刷数の確認方法(例)」の図を参考に、お手元の書籍の刷数をご確認ください。下の「書籍の刷数」の欄で刷数を選択すると、お持ちの書籍の刷数に合わせて、正誤情報を絞り込むことができます。

書籍によっては表記が異なる場合がございます


本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

 書籍の刷数で正誤情報を絞り込みたい場合は選択してください。

 書籍の種類:

最終更新日:2022年09月08日
ページ数 内容 書籍修正刷 電子書籍訂正 発生刷 登録日
028
6行目、11行目
6行目・・・あとは、それまでに通関地点を一切通過していなくても 11行目・・・すで通過した通関地点が偶然正しかった場合には、
6行目・・・とにかく、それまでに通関地点を一切入力していなくても、 11行目・・・過去入力した通関地点が偶然正しかった場合には、

※リフローEPUBの場合、第2章の図2.1の下にあるユーザと開発者の対話のうち、2つ目と3つ目のユーザの発言が該当箇所になります。
2刷 1刷 2011.04.26
029
下から6行目
すで通過した通関地点が偶然正しかった場合には、
過去入力した通関地点が偶然正しかった場合には、

※リフローEPUBの場合、第2章の図2.2の下にあるユーザと開発者の対話のうち、3つ目のユーザの発言が該当箇所になります。
2刷 1刷 2011.04.26
084
SQL文の下から4行目
"BROKERAGE_ACCOUNT='" + accountNumber + "'";
"ACCOUNT_NUMBER='" + accountNumber + "'";

※リフローEPUBの場合、第5章の見出し「例5.1 ――証券取引口座における関連」の2つ目のコード例が該当箇所になります。
4刷 1刷 2012.10.17
086
SQL文の下から6行目
"WHERE BROKERAGE_ACCOUNT='" + accountNumber + "'";
"WHERE ACCOUNT_NUMBER='" + accountNumber + "'";

※リフローEPUBの場合、第5章の見出し「例5.1 ――証券取引口座における関連」の図5.4の後にある、2つ目のコード例が該当箇所になります。
4刷 1刷 2012.10.17
119
16行目
強固なユビキタス言語である。これはある2つの環境で一貫した
強固なユビキタス言語である。これはある2つの環境で一貫した

※リフローEPUBの場合、第5章の「モデリングパラダイム」の小見出し「パラダイムを混在させる際にはモデル駆動設計に忠実であること」の5つ目の段落が該当箇所になります。
3刷 1刷 2011.07.20
126
第6章 図6.3
左下のクラス名・・・状態 中央下のクラス「タイヤ」の制約・・・{期間 = sum(位置.期間)}
左下のクラス名・・・位置 中央下のクラス「タイヤ」の制約・・・{走行距離 = sum(位置.走行距離)}
3刷 1刷 2011.06.27
166
「エンティティと値オブジェクトを区別する」の「顧客(Customer)」上から2行目

(画像クリックで拡大)

(画像クリックで拡大)

赤線部分「エンティティ」はパターン名のエンティティではないため、正しいフォントはゴシック体ではなく明朝体です。

※リフローEPUBの場合、第7章の見出し「エンティティと値オブジェクトを区別する」にある小見出し「顧客(Customer)」の最初の段落が該当箇所になります。
1刷 2021.04.16
177
本文13行目、下から5行目
13行目・・・荷役イベントが持つ配送記録のコレクションを 下から5行目・・・配達記録に対して
13行目・・・配送記録が持つ荷役イベントのコレクションを 下から5行目・・・配送記録に対して

※リフローEPUBの場合、図7.5の後にある見出し「リファクタリングのために立ち止まる:貨物集約についてのもう1つの設計」の3つ目の段落、および4つ目の段落が該当箇所になります。
2刷 1刷 2011.04.18
190
(ページ中ほど)箇条書きの1.
苦労して実現する価値がある
苦労して実現する価値がある。

※リフローEPUBの場合、第3部の冒頭にある番号付き箇条書きの「1.」が該当箇所になります。
2刷 1刷 2011.05.12
215
図9.6

(画像クリックで拡大)

(画像クリックで拡大)

「利息計算」→「利息の発生」
1刷 2022.09.08
221
「それほど明白でない概念をモデル化する方法」の2行目
「発生」のように非常に抽象的なものも含て
「発生」のように非常に抽象的なものも含めて

※リフローEPUBの場合、第9章の図9.9の後にある見出し「それほど明白でない概念をモデル化する方法」の最初の段落該当箇所になります。
2刷 1刷 2011.05.23
279
訳注
ジェネリスク
ジェネリクス

※リフローEPUBの場合、第10章の末尾に記載されている「訳注」が該当箇所になります。
2刷 1刷 2011.05.23
280
最終行
実装方法が多くのだ。
実装する方法は数多くあるのだ。

※リフローEPUBの場合、第10章の図10.14の直前にある段落が該当箇所になります。
3刷 1刷 2011.06.27
287
下から10行目
設計全体に対して、一度に取り組むことはできない。一度に切り出すこと。
設計全体に対して、一度に取り組むことはできない。一部を切り出すこと。

※リフローEPUBの場合、第10章の「攻める角度」の小見出し「サブドメインを切り取る」の最初の段落が該当箇所になります。
2刷 1刷 2011.04.09
288
第10章 「例10.7 ――パターンを統合する:シェア算」の1行目
第8章では、シンジケートローンシステムを構築するプロジェクトで起き、
第8章では、シンジケートローンシステムを構築するプロジェクトで起き
4刷 1刷 2012.09.28
288
7行目
これらの中には何世紀にもわたって改良され蒸留されてきたもある。
これらの中には何世紀にもわたって改良され蒸留されてきたものもある。

※リフローEPUBの場合、第10章の「攻める角度」の小見出し「可能な場合には、確立された形式主義を活用する」の最初の段落が該当箇所になります。
2刷 1刷 2011.04.09
342
第14章 図14.1上部
モデルの統一を 保つのに使用する
モデルの統一を 保つのに使用する

余分な「で」を削除しました
2刷 1刷 2011.04.09
356
第14章 図14.3
ネットワーク横断サービス
ネットワーク走査サービス
2刷 1刷 2011.05.12
363
柱と見出し
共有カーネル(SHARED KARNEL)
共有カーネル(SHARED KERNEL)

※リフローEPUBの場合、柱はありません。
4刷 1刷 2019.11.08
364
1行目
少ないコストでほ利益のとんどを得られる。
少ないコストで利益のほとんどを得られる。

※リフローEPUBの場合、第14章の「境界づけられたコンテキスト間の関係」の図「共有カーネル(SHARED KERNEL)」の後にある3つ目の段落が該当箇所になります。
2刷 1刷 2011.05.09
402
箇条書き内
6. 現実的でないと判明するかもしれないが、レガシーシステムで現在使用されていないモジュールを稼働させることを考えること。
6. 現実的でないと判明するかもしれないが、レガシーシステムで現在使用されていないモジュールを除外することを考えること。
1刷 2022.02.24
411
第15章の小見出し「誰がこの作業をやるのか?」の2段落目
長期にわたって参画し、~(中略)~ 1人以上をうまく協力させるチーム
長期にわたって参画していて~(中略)~ 1人以上がうまく協力しあえるようなチーム
2刷 1刷 2011.05.23
434
本文18行目
凝集されたサブドメイン
(※パターン名を示す書体になっていますが、クラスではなく本文です)

ゴシック体から明朝体に修正しました。

※リフローEPUBの場合、第15章の小見出し「隔離されたコア(SEGREGATED CORE)」の4つ目の段落(「これは、」で始まる段落)が該当箇所になります。
2刷 1刷 2011.04.26
482
ページ中ほど
内部設計を
内部設計を

※リフローEPUBの場合、第16章の「着脱可能コンポーネントのフレームワーク(PLUGGABLE COMPONENT FRAMEWORK)」の3つ目の段落が該当箇所になります。
2刷 1刷 2011.05.23
490
8~9行目
その部分を改良しなくてもよくなくなる。
その部分を改良しなくてもよくなる。

※リフローEPUBの場合、第16章の最後の見出し「蒸留によって負荷が軽減される」の2つ目の段落が該当箇所になります。
10刷 1刷 2018.02.01
500
下から4行目末尾~
チームメンバに、~(中略)~ チームの間を実際に意見聴取のため回った。
メンバが~(中略)~ チームの間を回って意見を聞いていた。

※リフローEPUBの場合、第17章の「戦略的設計上の意思決定を行うために欠かせない6つのこと」の小見出し「意思決定プロセスはフィードバックを吸収しなければならない。」の3つ目の段落が該当箇所になります。
2刷 1刷 2011.05.23
539
訳者紹介「和智右桂」
http://d.hatena.ne.jp/digitalsoul/
https://digitalsoul.hatenadiary.org/
11刷 1刷 2020.05.21
xxx
目次 第4部「戦略的設計」下から8行目
共有カーネル(SHARED KARNEL)
共有カーネル(SHARED KERNEL)
4刷 1刷 2019.11.08
裏見返し
図の上部
隔離されたコア p.XXX
隔離されたコア p.434

※リフローEPUBの場合、巻末に掲載されている図が該当箇所になります。「隔離されたコア」については第15章の「隔離されたコア(SEGREGATED CORE)」をご参照ください。
2刷 1刷 2011.04.26

感想・レビュー

さん

2020-05-07

ドメイン駆動設計の前提となっている「ソフトウェアにとって一番大事なことは、どんな技術を使うかではなく、何を作ろうとしているのか(≒ドメイン)である」という考え方には非常に共感できた。(技術にしか興味がないプログラマを批判的に取り上げていたのも面白い)また実際に紹介されている手法を自分のプロジェクトに導入し、効果を実感することもできたので、名著と言われているのは納得できるが…

さん

2021-07-30

エンジニアキャリアをどのようにスタートしたかによって相当見方が変わる本だと思いました。Railsのようにレールがはっきりした世界の目線で読むと、別のレールのパターンを見てるだけのように見えるなと。しかしJavaScriptでノーレールの世界のものとして見ると、DDDは強力な手法に見えると思いました。ただ、現在はこういった議論を経た上でフレームワークのサポートや設計の当たり前基準があがっているので原論を読む感じだと思いました。

ilma さん

2011-09-10

★★★★☆ システム化する業務の本質をモデル化し、モデルを継続して極めていく、再利用すべきはコードでなく設計であるという考え方は次元が高いと思いました。耳慣れない言葉も多いのですが、設計例がかなり多いので、時間を掛ければ理解できると思います。(米国では)良い設計のソフトであれば、たとえ会社が潰れてもソフトと開発者を引き取る企業があるという後書きも興味深いです。個人的には日米の開発者に差はないと信じていますが、良い設計が稼ぎにつながりやすい風土が米国の開発者の元気に繋がっているような気がします。