Book
Domain-Driven Design: Tackling Complexity in the Heart of Software
Eric Evans
Summary
DDDの概念を世界で初めて提唱し、ユビキタス言語やコンテキストマップなど 現代の分散システム設計の基礎概念を確立した原典的バイブル。
Editor's Note
For advanced readers who want to verify the origin and precise definitions of the concepts at the source. Most effective after getting the big picture from an introductory text; dense, and best used as a long-term reference than a single read.
Target Readers
- DDD概念を深掘りしたいアーキテクト
- エンタープライズシステム設計に携わる開発者
Tags
Colophon
- Publisher
- 翔泳社
- ISBN
- 978-4798121963
- Published
- Apr 2011
- List price
- ¥5,720incl. taxMay differ from the actual selling price on Amazon
Get this book
* The link above is an advertisement via Amazon Associates.Related Books
Prerequisites
- Recommended
Learning Domain-Driven Design
Vlad Khononov
Reason: After mapping the strategic and tactical landscape with an introductory text, you verify the origin and precise definitions of the concepts in the source. Evans' DDD grounds the ubiquitous language and model-driven design, forming the foundation for applied judgment.
- Recommended
チームトポロジー
Matthew Skelton, Manuel Pais
Reason: After designing team boundaries for fast flow, you back those boundaries with the language of the business domain. A bounded context defines the outline of both the team and the model at once.
- Recommended
Clean Code
Robert C. Martin
Reason: Once you have quality standards at the code level, you point that expressiveness toward the language of the domain. Meaningful names become a ubiquitous language that bridges business and code, making the model speakable in code.
- Related
A Philosophy of Software Design, 2nd Edition
John Ousterhout
Reason: Once you have universal principles for containing complexity, you apply them specifically to the complexity of the domain. DDD tames the essential complexity inherent in the business through a model and a ubiquitous language.
Next Books
- Recommended
アーキテクチャモダナイゼーション
Nick Tune, Jean-Georges Perrin
Reason: Once you have a grasp of domain models and bounded contexts, you take that thinking into the field of large-scale legacy modernization. This book ties domain decomposition to business goals and team structure, turning it into concrete steps for driving a modernization effort.
Sources
- Recommended
つくりながら学ぶ!ドメイン駆動設計 実践入門
山下祐也(監修: 増田亨)
Reason: Even after grounding the origin of the ubiquitous language and model-driven design in Evans' original text, it's hard to picture how value objects and aggregates translate into actual class design. 'Learning DDD Through Practice' shows one worked example all the way through in TypeScript, translating the original concepts back into the language of implementation.
- Related
データ指向プログラミング
Yehonathan Sharvit
Reason: After learning to express a domain model with objects, you encounter the contrasting data-oriented idea of separating code from data and taming complexity with immutable data, relativizing the assumptions of your design.