エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

  • 517人登録
  • 4.23評価
    • (29)
    • (21)
    • (10)
    • (1)
    • (1)
  • 16レビュー
制作 : 今関 剛  和智 右桂  牧野 祐子 
  • 翔泳社 (2011年4月9日発売)
  • Amazon.co.jp ・本 (576ページ)
  • / ISBN・EAN: 9784798121963

この本を読んでいる人は、こんな本も本棚に登録しています。

有効な左矢印 無効な左矢印
濱野 純(Jun...
有効な右矢印 無効な右矢印

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)の感想・レビュー・書評

並び替え:

表示形式:

表示件数:

  • ある程度以上の規模を持つシステムを構築する際には、一通り目を通しておくべき書籍です。
    ESBによるシステム統合のベストプラクティス(コンテキスト境界)と同じ話が出てきてびっくりしました。合併によるシステム統合の際などにも、参考になるアイデアがいろいろ詰まってます。

  • 本書は「ドメイン駆動設計」という、ソフトウェア・システムのモデリングおよび設計手法について説明したものである。

    ドメイン駆動設計は「ドメイン知識駆動設計」とよぶ方がわかりやすいと思う。
    これは、業務のモデリングおよびシステムの設計に、クライアントであるドメインエキスパートと共通の語彙を使ってモデリングから設計の詳細までを行おうという手法である。
    これによりモデルと実装が乖離することがなく、ドメインエキスパートおよびソフトウェア・エンジニアがつねに対話しながら、彼らの知見を活かしてモデルとシステムを改良し続けられるとしている。これが本書のメインテーマである。
    そして、モデルをシンプルにするために、値オブジェクトやimmutableなオブジェクトを使うことを推奨し、コンポーネントの疎結合化、レイヤー化の導入を提案する。これが本書のサブテーマである。

    ただし、既存のシステムが存在する場合などでは、全て理想的に行くとは限らないので、その場合の解決・妥協方法について本書の後半で述べられている。

    実際にシステムを構築した人でないと後半は漠然としていてわかりにくいが、前半は例を用いて明確に書かれており、それだけでも本書を読む価値はあると思ったので★4つとする。

  • DDDに関する本として最初に読むべき本とのこと。

    自分ではない誰かの業務領域にむけた大規模システムを設計するときにどうあるべきか、ということが書いてある。考え方はどの業界においても一緒だと思うので、概念は知っておきたい。

    ドメインを深く理解し、いかにそれを邪魔しないよう設計するかという話。副次的な効果としては物流業界に詳しくなれる。

  • 現時点で、ソフトウェア開発の設計について、ここまで体系的にまとまっているものはないと思う。DDDの素晴らしい点は、こうして体系だてられることで、チームの依り代となる点だと感じる。
    (Evansの)DDDは大きく二つの柱からなる。
    ひとつは、オブジェクト指向ベースのより人間が理解しやすいモデリングを追求するという点。これは、例えば、誕生日という概念があるときLocalDateとして扱うよりも、DateOfBirthとしてモデル化した方がより責務が明快になる。ビジネスにおける重要な関心事に集中して明快に要約したものをモデル化することで、ビジネスの変化に対応しやすくなる。(多くの場合、開発サイドで独自の言葉でコードにしがちだが、そうするとビジネスサイドと会話が噛み合わないことが増えていく。)
    もうひとつは、XPの考え方を取り入れることで、変化を受け入れ適応していく開発スタイルである点。XP第二版の翻訳が出たばかりではあるが、それを読むと必ずアジャイル手法をとらなければいけないわけではないことが分かる。ウォーターフォールであっても、うまくコミュニケーションをとりえれば、XPを持ち込むことができるとある。DDDではこのXPの価値、原則を取り入れ、変化と設計をどう結びつけるかを論じている。また、複数のサービス、チームに分かれる場合の戦略など、より大きな視点も含まれていることが素晴らしい。
    これから益々、DDDの知名度は上がっていくと予想されるので、必読の一冊となるだろう。

  • 最高

  • めっちゃ参考になります

  • 難しい

  • Domain Driven Design(DDD)についての名著。ポイントになるのは、ユーザと開発者が同じ言語を用いて、それをモデル分析や設計、実装に渡って全般的に使用すること(ユビキタス言語の使用)という観点。業務領域(ドメイン)で使われる言語によって分析・設計・実装を行うことにより、当のシステムを開発する視点がブレなくて済むし、開発の各段階でのミスコミュニケーションも減る。システムは業務上の問題を解決するために構築されるものであるから、その設計はドメインに対するモデルを作ることに主眼を置く。ドメインモデルはつまり、業務領域における概念分析になる。本書ではそれはクラス図を用いて行われるが、それはユースケース図でも、UMLを用いない形でも可能だろう。ユーザが理解できさえすればコードそのものでも構わない。ただし、DOAは明らかにこれになじまない。

    本自体は大きいが、DDDの実際のポイントは最初の3章ほど。後はいかにドメインに注目して分析を進めていくかのデザインパターン集になっている。UI、アプリケーション、ドメイン、インフラという基本的な4つのレイヤー構造、エンティティ・値オブジェクト・サービスといった構成要素、ドメインにおける重要な制約や条件を分離するための仕様やストラテジーといったところが面白かった。また複数のドメイン間の関係や大規模なものになったときにそれぞれを分離するための戦略的パターンも、おぼろげながら実際に取られているものだろう。

    これを実際のプロジェクトで使うのは(日本では?)たしかにけっこう困難だ。まずもってユーザへの負荷が大きい。DDDのポイントやいくつかのデザインパターンについては理解してもらわなければならないし、反復的開発においてドメインモデルの深化を行うには長期に渡って時間を割いてもらわなければならないだろう。エンジニア側が複数チームだった時、ユーザ相互に認識の相違があった時、どう調整すればいいのか。プロジェクトとしての進捗管理はどうするのか。見積もりは?成果物は?とはいえ、既存の開発手法にも取り入れられるところは多いので使えるところはありそうだ。

  • 何ヶ月かかったかわからんが読み終えた。詳細はほとんど覚えてないが、大事な何かは伝わってきた気がする。ありがとうございました。

  • 京都で読書会をやってました。
    序盤のDDDの基礎的な部分も面白いが、後半の実践するための様々な手引き部分が業務とリンクしてとても読み応えがある。
    ただ、モデリングを始めようとして手に取ると、モデリング手法については一切触れていないので不完全燃焼になるかも。
    この本はあくまでもモデリングができる前提で、モデルを利用した開発の仕方を説明している本なので注意が必要。

全16件中 1 - 10件を表示

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)に関連するまとめ

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)を本棚に「読み終わった」で登録しているひと

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)はこんな本です

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)のKindle版

ツイートする