Domain-Driven Design: Tackling Complexity in the Heart of Software

Domain-Driven Design: Tackling Complexity in the Heart of Software

4.2 of 5 stars 4.20  ·  rating details  ·  588 ratings  ·  33 reviews
"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving und...more
Hardcover, 560 pages
Published August 20th 2003 by Addison-Wesley Professional
more details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.
Introduction to Algorithms by Thomas H. CormenThe  C Programming Language by Brian W. KernighanSoftware Estimation by Steve McConnellClean Code by Robert C. MartinJoel on Software by Joel Spolsky
software-development
13th out of 30 books — 20 voters
REST in Practice by Jim WebberSoftware Systems Architecture by Nick RozanskiAgile Software Development, Principles, Patterns, and Practices by Robert C. MartinVery Large Information Systems by Stephan MurerPatterns of Enterprise Application Architecture by Martin Fowler
Best Books for IT Architects
6th out of 8 books — 2 voters


More lists with this book...

Community Reviews

(showing 1-30 of 1,520)
filter  |  sort: default (?)  |  rating details
Sebastian Gebski
Actually, it's the 2nd time I've read that book. After the 1st time I was quite happy with what I've received - I've generally agreed to author's approach, even more: I've found it rather obvious ("so not a big deal") - I'd do pretty much the same in the example cases, I agree that those design decisions are more reasonable, etc.

Some time has passed, I've discussed DDD with several people on several occassions and I think now I got the value of this book: author does not only gives you the examp...more
Erika RS
See elsewhere for my more detailed summary.

The short summary is that Domain-Driven Design is a great book for any programmer or software designer who wants to deepen their ability to model application domains. Evans describes why domain modelling is important and sets out a number of patterns for achieving better models. He has a good grasp of real world complexities and, because of that, insists that a model must be implementable if it is to be successful. Any overlap between the model and the...more
Joecolelife
May 16, 2011 Joecolelife rated it 5 of 5 stars
Recommended to Joecolelife by: www.CocoMartini.com
Developing a language to enable communication between team memembers and with domain experts seems like an obvious thing to do. Most teams do not do this and start their application by solving technology problems. This book describes the utility of a domain-driven approach to building systems and shows you how to apply this approach effectively. This book makes excellent use of patterns to demonstrate how design, architecture and development practices such as continuous integration interact with...more
Tom
Great, great book. However, you should probably have at least some understanding of agile, design patterns, and refactoring before reading this book if you truly want to get the most out of it. The book talks about using model-driven design to create a domain model and ubiquitous language that everyone in the company can leverage - a topic that seems to be getting more attention as of late.

Some of the topics are pretty abstract, and I would have liked to see some more code and concrete examples...more
Andreea
While reading this book I complained a lot about the author repeating the same ideas supported by different examples. However, I really enjoyed reading it and I feel I gained a lot of knowledge about designing software applications. Of course, this knowledge is purely theoretical, but we all have to start somewhere.

One thing I really appreciated is that the author doesn’t isolate the design and development part from the human interaction. One has to know the team members’ skills and employ them...more
Bjørn
Excellent software engineering book. It presents a working strategy for writing and organizing software code in classes and packages in a clean and usable environment. The book presents a "common language" concept that improves communication between team members and between the team and stake holders. It presents strategies for managing code by associating class names and packages with specific functionalities, proving and common understanding of what-goes-where for a team working with domain dr...more
David
Been reading this on and off for a while now. I would put this on the "must read" shelf of anyone involved in the development side of software engineering, including programmers, designers, architects, even development managers. It presents a lot of important points and topics that some developers sort of know or understand but never clearly defined and put forth. There are best practices on patterns, approaches to design and development, architecture, and communication.

It takes OO development u...more
Xavier Shay
Long (I'm starting to feel that way about all programming books...), but worthwhile. Key takeaways for me:
- If business people use terms that don't appear in your model, that's bad.
- "Make implicit concepts explicit." Important business rules should not be hidden away in conditionals inside an unrelated object.
- Constrain relationships as much as possible. For instance a has_many should only be bidirectional if it is really necessary. A way around it is to use repositories to access the informat...more
Robert
This is one of the best books on software design and architecture currently available. This has the potential to be as forever mind-changing as Design Patterns, POSA, or PoEAA. The book talks about an interesting way to design and architect software: That of letting the domain drive the results. The books takes traditional OOP approaches and turns them on it's ear. By making the underlying focus of the application the actual objects (and their relationships/lifecycle) the right things get built...more
Waylon Martinez
Great book a little higher level than the PPP book but it provides some great insight to the business logic used to include your clients in the development process. I suggest this book to our staff as a quick pickup and read book. I couldn't put this one down.
Chris
Feb 01, 2013 Chris rated it 5 of 5 stars
Shelves: geek, work
excellent. I mostly skimmed over it but there's a whole lot of depth to this book that I plan to really dig into. I've found a lot of what he described with domain modeling to be where I've been going towards, especially after a somewhat recent advanced OO training course.
Keith La
Very good introduction to Domain Driven Design in the first few chapters. If you are more interested in Large Scale Application design you can go to Part 4 of the book, it does not depend on much from the first parts of the book.
Bruno
An amazingly good and meaty book, although the theme is quite complex and tends to require a lot of attention and thought to really understand the implications of the methods and techniques mentioned.
Suresh
This is a great read for architects and designers. It highlights the much needed importance of domain, during application development. Also liked the common patterns that we find in domain driven design.
Geoffrey
Oct 01, 2011 Geoffrey added it Recommends it for: any software developer
Shelves: software
One of the more fundamental books in software design that should be read by any serious developer who's interested in learning about ways to design software.
Darren Haken
Excellent book, I'd highly recommend reading it.
It really puts into context the important of focusing a system around the domain
Dinkar Gupta
One of the finest ! whether you adopt DDD or not, make sure you read this book to become better software professional.
Thomas
THE book on modern object-oriented software development.

Extremely informative and laid-back in a good way
Chris Edwards
Absolute must read for all developers! Probably the best book on software development in the last 10 years.
Günter Zöchbauer
The book gave me great insight how to build maintainable software.
Rejeev Divakaran
must for all enterprise application architects.
Riggs
Mar 10, 2010 Riggs added it
Dicker Schinken ;) aber guter Stoff
Vishal
A masterpiece!
Will
I love this book so much. This is the book I would hand out to people just starting a job as a programmer. It's especially useful for consultants and programmers on services teams; it tells you how to take a series of meetings and turn them into a common language for talking about domain objects.
Laust
Some excellent points hidden in this tome, but signal/noise ratio is pretty bad (oh the repetitions). Sometimes trails off without actually making a point that has been led up to. Still, got a bit of new vocabulary and structural understanding, so all was not lost.
Kiril Kirilov
This book contains some interesting conceptions/terms. Like - Entity, Value Object, Closure of Operations, Repository, side effect free function, Core Domain, Bounded Context.
Evan Hoff
A no nonsense approach to developing applications using the Domain Model pattern. I highly, highly recommend this book for enterprise developers.
Barry
Feb 10, 2013 Barry marked it as to-read-technical
« previous 1 3 4 5 6 7 8 9 50 51 next »
There are no discussion topics on this book yet. Be the first to start one »
Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем
Erikku Ebansu No Domein Kudō Sekkei: Sofutouea No Kakushin Ni Aru Fukuzatsusa Ni Tachimukau
Domain-Driven Design: Tackling Complexity in the Heart of Software (ebook)

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
So Far from Home Mastering Negotiations: Break Stalemates, Defuse Conflicts and Give Yourself the Edge Mastering Negotiations The Kayaking Book Mental Toughness Training for Cross Country

Share This Book

Your website