作品一覧
-
4.2ドメイン駆動設計の定番書 問題解決にフォーカスした設計パターン 「この本は、思慮深いソフトウェア開発者全員の必携書である。」 ---Kent Beck 氏推薦 「Eric が見事にとらえたのは、熟練のオブジェクト設計者が常々用いてきた設計プロセスの 一部でありながら、グループとして見ると、この業界の他の人々へうまく伝えられずにいたものだ。 これまで我々は、この知識を断片的には提供してきた。 しかし、ドメインロジックを構築するための原理をまとめ上げ、体系化したことはなかった。 本書は重要である。」 ---『Enterprise Java Programming with IBM WebSphere』の著者 Kyle Blown氏 推薦 ソフトウェア開発コミュニティでは、ドメインモデリングがソフトウェア設計の中心であることが広く認められてきています。ドメインモデルを通して、ソフトウェア開発者は豊富な機能を表現し、それをユーザの要求に本当の意味で応えるソフトウェアの実装に移すことができます。しかし、明らかに重要であるにもかかわらず、効果的なドメインモデリングをどのようにソフトウェア開発プロセスに組み入れるかを説明する、実用的なリソースはほとんど存在しませんでした。ドメイン駆動設計はこの要求に応えるものです。これは具体的な技術についての本ではなく、読者にドメイン駆動設計への体系的なアプローチを提示するものです。設計のベストプラクティスの応用的なセット、経験に基づくテクニック、さらに、複雑なドメインに直面するソフトウェアプロジェクトにおける開発を容易にする基本原則を紹介する一冊です。 【原書タイトル】Domain-Driven Design: Tackling Complexity in the Heart of Software 本書で学べること チームメンバー全員に同じ言語で会話をさせる モデルと実装をより深く結びつける ポイントとなる特徴を、モデルにおいてはっきりさせる ドメインオブジェクトのライフサイクルを管理する 安全に結合できるドメインコードを入念に作成する 複雑なコードを明白で予測できるものにする ドメインビジョン声明文を記述する 複雑なドメインのコアを蒸留する モデルに必要な、暗黙的な概念を掘り出す アナリシスパターンを適用する デザインパターンをモデルに関係づける 巨大なシステムでモデルの整合性を維持する 同じプロジェクトで複数のモデルが共存できるようにする 大規模な構造によりシステムを構成する モデリングのブレイクスルーを認識して、それに対応する 著者紹介 Eric Evans(エリック・エヴァンス) Eric Evansは、Domain Languageの創設者である。このコンサルティンググループは、企業の手助けをして、ビジネスと深く結びついた、進化するソフトウェアを構築するために設立された。1980 年代以来、Ericはいくつかの複雑なビジネスドメインや技術ドメインにおける巨大なオブジェクト指向システムに対し、設計者兼プログラマとして取り組んできた。また、エクストリームプログラミングを実践する開発チームの教育と指導も行っている。 ※本電子書籍は同名出版物を底本とし作成しました。記載内容は印刷出版当時のものです。 ※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。 ※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。 ※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。
ユーザーレビュー
-
Posted by ブクログ
「ドメイン駆動設計」なるものは何なのか。
例えばテスト駆動開発であれば、テストを実装しそこからレッド→グリーン→リファクタリングと進んでいく。
ではドメイン駆動設計はドメインが起点かというと、むしろリファクタリングしながらドメインを浮き彫りしていく彫刻のようなアプローチが望ましいようだ。
(第八章ブレイクスルーのあたりにくわしい)
一度通読しただけで完全に理解できるような代物ではないが、いかにしてコード、そして設計にドメインを注入していくのかというコア部分は必読。
第4部、戦略的設計は内容的にも入り組んでおりやや難解に感じた。再読が必要だ。
重厚で、かつ内容を噛み砕きながら読む必要がある -
Posted by ブクログ
初見だと新しい概念が大量に出てきて、理解できないままどんどん話が進んでいきます。
それもあり放置していた本ではあったのですが、DDDで設計されたプロジェクトに入った機に再読。
実際に触りながら読むと、前より理解しながら読み進めることができました。
時代背景も今と違うため、素直に全てを受け止めるのではなくどんな理由があってなにを解決するために生まれたものかを理解するのが大事かと思われます。
特にアーキテクチャとしての戦術的DDDをDDDの全てとして受け止めてる人も多く、その辺りが曖昧になると本質を見失ってしまいそうです。
1回読んだだけで理解できる本ではないため、実践を繰り返しながらよ