Implementing Domain-Driven Design

Implementing Domain-Driven Design

  • Downloads:4037
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2022-09-07 09:56:19
  • Update Date:2025-09-07
  • Status:finish
  • Author:Vaughn Vernon
  • ISBN:0321834577
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

Implementing Domain-Driven Design presents a top-down approach to understanding domain-driven design (DDD) in a way that fluently connects strategic patterns to fundamental tactical programming tools。 Vaughn Vernon couples guided approaches to implementation with modern architectures, highlighting the importance and value of focusing on the business domain while balancing technical considerations。

Building on Eric Evans’ seminal book, Domain-Driven Design, the author presents practical DDD techniques through examples from familiar domains。 Each principle is backed up by realistic Java examples–all applicable to C# developers–and all content is tied together by a single case study: the delivery of a large-scale Scrum-based SaaS system for a multitenant environment。

The author takes you far beyond “DDD-lite” approaches that embrace DDD solely as a technical toolset, and shows you how to fully leverage DDD’s “strategic design patterns” using Bounded Context, Context Maps, and the Ubiquitous Language。 Using these techniques and examples, you can reduce time to market and improve quality, as you build software that is more flexible, more scalable, and more tightly aligned to business goals。

Download

Reviews

Rostislav Vatolin

Great read。

Serg Akudovich

Too much Hibernate and Java, if you don't deep Java, can be boring。。。 I think the blue book should be the first one :) Too much Hibernate and Java, if you don't deep Java, can be boring。。。 I think the blue book should be the first one :) 。。。more

Rafael Araújo

Great。 Author is very clear and the concepts are very important to software engineering。

Ashay Tikekar

Must read for in depth understanding of how DDD helps in building solid microservices

Michal Sokolowski

Disappointing, very difficult to read and comprehend

Muhammad Sufyian

The book has enough details on tactical aspects of DDD, however it covers strtaegic aspects of DDD at very high level。

Tan Pham

First try on this book。 For entry level like me, the book provides me many ideas to implement domain driven design。 I totally ignore the cowboy part in each chapter, it doesn’t make me laugh at all。 :)

Jevgenij

This books mixes too many various concepts and covers too broad topics jumping between different levels of abstraction。 If this is how domain-driven design should be implemented, that's a pretty confusing implementation。 This books mixes too many various concepts and covers too broad topics jumping between different levels of abstraction。 If this is how domain-driven design should be implemented, that's a pretty confusing implementation。 。。。more

Benoit Blanchon

I love this book。 The content is very valuable。 I just wished it was written differently: something easier to read and lighter。。。 maybe Domain-Driven Design Distilled is what I want?Anyway, it is a great complement to Domain-Driven Design: Tackling Complexity in the Heart of Software, and reading both is definitely worth it。 I love this book。 The content is very valuable。 I just wished it was written differently: something easier to read and lighter。。。 maybe Domain-Driven Design Distilled is what I want?Anyway, it is a great complement to Domain-Driven Design: Tackling Complexity in the Heart of Software, and reading both is definitely worth it。 。。。more

Franky Vertriest

Loved it, learned a lot from it。

Toby

Verbose and the “cowboy logic” parts didn’t make any sense but that aside, a comprehensive walkthrough of good software design techniques and principles in the DDD world, though some are universal。 Some content feels dated, particularly specific references to Hibernate for example, and the major focus on OOO。 Quality of chapters varies。 I found the book to be a good companion to the blue book because it explains concepts more concretely。 Like anything, these ideas have to be used purposefully in Verbose and the “cowboy logic” parts didn’t make any sense but that aside, a comprehensive walkthrough of good software design techniques and principles in the DDD world, though some are universal。 Some content feels dated, particularly specific references to Hibernate for example, and the major focus on OOO。 Quality of chapters varies。 I found the book to be a good companion to the blue book because it explains concepts more concretely。 Like anything, these ideas have to be used purposefully in real life, rather than as a grab bag of patterns to apply。 。。。more

Rodrigo Vieira

Um excelente complemento ao livro do Evans。 Enquanto Evans buscou lançar as bases do DDD, Vernon trouxe alguns complementos importantes às ideias de Evans, além de trazer conceitos bastante realistas sobre como usar o DDD em projetos。 Por vezes, há projetos que começam muito bem, com a camada de domínio separada do restante da aplicação, mas que depois acabam por ter essa camada “suja” com conceitos de tecnologia。 Neste livro, é possível encontrar soluções muito boas, e como já disse, realistas Um excelente complemento ao livro do Evans。 Enquanto Evans buscou lançar as bases do DDD, Vernon trouxe alguns complementos importantes às ideias de Evans, além de trazer conceitos bastante realistas sobre como usar o DDD em projetos。 Por vezes, há projetos que começam muito bem, com a camada de domínio separada do restante da aplicação, mas que depois acabam por ter essa camada “suja” com conceitos de tecnologia。 Neste livro, é possível encontrar soluções muito boas, e como já disse, realistas para esses e outros problemas。 。。。more

Christoph Kappel

Well, finally managed to read the big one。 I must admit I am surprised, the book was way more readable than I expected。 I read the distilled version before and it is was horrible and most of the time just an an advertisement。 Cowboy logic? 🤠I wonder why he implemented all of the stuff by himself, but when you consider the time of writing it is probably fine and the chapter aged pretty well。This wasn't my first book about DDD, but it really helped me to understand DDD a bit more。 Well, finally managed to read the big one。 I must admit I am surprised, the book was way more readable than I expected。 I read the distilled version before and it is was horrible and most of the time just an an advertisement。 Cowboy logic? 🤠I wonder why he implemented all of the stuff by himself, but when you consider the time of writing it is probably fine and the chapter aged pretty well。This wasn't my first book about DDD, but it really helped me to understand DDD a bit more。 。。。more

Vinicius Souza

DDD is, in some contexts, a very conceptual topic。 After reading the origin Evans's book you will probably end up with a lot of questions about how to implement some of the ideas of the book。 This book answers most of these questions。 It is a complement to the original book, with a more practical view and a lot of code samples。 Speaking for architects and developers, I believe this book delivers more value than the Evans's, once it is much more close to our daily challenges。In addition to DDD, t DDD is, in some contexts, a very conceptual topic。 After reading the origin Evans's book you will probably end up with a lot of questions about how to implement some of the ideas of the book。 This book answers most of these questions。 It is a complement to the original book, with a more practical view and a lot of code samples。 Speaking for architects and developers, I believe this book delivers more value than the Evans's, once it is much more close to our daily challenges。In addition to DDD, the book addresses a lot of subjects ahead of its time, which are the base for microservices architectures and reactive systems。 Finally, I'd say that this book is a must for every senior developer and system architect。 。。。more

Regis Hattori

The best part of the book is its introduction。 After reading Evan's DDD and do not understand so much, Vernon makes good work summarizing the most important parts in a few words。Unfortunately, the same cohesion and didactic is not repeated in the rest of the book。 It varies a lot in quality。 Some parts are really good, some are not。 At least its chapters are better organized when comparing to Evan's book。It is not a kind of reading in which you read by pleasure。 But because of the importance of The best part of the book is its introduction。 After reading Evan's DDD and do not understand so much, Vernon makes good work summarizing the most important parts in a few words。Unfortunately, the same cohesion and didactic is not repeated in the rest of the book。 It varies a lot in quality。 Some parts are really good, some are not。 At least its chapters are better organized when comparing to Evan's book。It is not a kind of reading in which you read by pleasure。 But because of the importance of the subject and the good parts, I think it worth maintain the focus and read it。 。。。more

Tom Liversidge

Takes the ideas from Eric Evans and provides extensive details regarding implementing them

Michał Olejnik

Ok, so I have definitely mixed feelings about this book。 I'm a big fan of the DDD itself and the original book by Eric Evans。 I've heard a lot of good things about this book as well and my expectations were high。 And I'm afraid they weren't quite met unfortunately。 The part dedicated to strategic DDD is good。 The concepts are explained thoroughly and understandably, the examples are easy on point and the whole part reads well enough and stood the test of time。 But the part dedicated to tactical Ok, so I have definitely mixed feelings about this book。 I'm a big fan of the DDD itself and the original book by Eric Evans。 I've heard a lot of good things about this book as well and my expectations were high。 And I'm afraid they weren't quite met unfortunately。 The part dedicated to strategic DDD is good。 The concepts are explained thoroughly and understandably, the examples are easy on point and the whole part reads well enough and stood the test of time。 But the part dedicated to tactical DDD didn't age well。 In my opinion there's too much focus and references on outdated technologies that you need to power through and that only pollute the most important ideas and make it harder to grasp them。 I also didn't quite enjoy the style the book is written in - especially the way each chapter concludes (rather than telling what the reader just learned it would be better to provide a short summary of the most important content in my opinion)。 And I unfortunately don't understand the cowboy logic/humour。 In the end, I think there's still a lot of knowledge in this book (especially about strategic DDD)。 It can definitely give you some value but don't expect an easy read。 。。。more

David Stevenson

The book is certainly one to refer to if you find yourself working in a DDD environment where object oriented programming is used。 (If your environment is not using OO, then other books may be more useful。 Vernon's own subsequent book, Reactive Messaging Patterns with the Actor model, is one possibility if using Actors - my personal inclination。)Implementing Domain-Driven Design is a lengthy book, but as the book itself notes, after reading the first 3 or 4 chapters, you could jump around among The book is certainly one to refer to if you find yourself working in a DDD environment where object oriented programming is used。 (If your environment is not using OO, then other books may be more useful。 Vernon's own subsequent book, Reactive Messaging Patterns with the Actor model, is one possibility if using Actors - my personal inclination。)Implementing Domain-Driven Design is a lengthy book, but as the book itself notes, after reading the first 3 or 4 chapters, you could jump around among the remainder of the chapters depending on which specific area of implementation guidance you are interested in。You'll learn about ways to implement Value Objects, Entities, Aggregates, Repositories, Domain Events, Domain Services in a domain-oriented, ports and adapter style architecture。Because I read the book some 7 years after original publication, the focus on ORM-based repositories feels dated now, and I'd definitely be considering the use of "aggregate-oriented" NoSQL datastores if working on a greenfield project, but I found the coverage of how to design ORM-based repositories interesting nonetheless, even if I don't never use an ORM in future。As I read the Eric Evans "Blue Book" prior to this one, I found it to be a worthy follow-up read, but DDD-learners should be aware that the DDD space keeps moving。 It's well worth checking out more recent talks given by Evans, Vernon and others at DDD conferences in recent years, which can be found online, in order to pick up on recent developments。 (These older books are absolutely worth reading, but don't encompass developments in the DDD space since。) 。。。more

Oskar

Somewhat dated in places。 Still excellent as a source for writing object oriented DDD。

Artūras Jankus

Too much to read for too little of information you get。

Antonio

Very good technical book, if you are interested in Domain Driven Design this is your go to for questions。 It's like the Bible but for DDD very big but worth every page。 The examples are very clear and it's explained from the basics。 Very good technical book, if you are interested in Domain Driven Design this is your go to for questions。 It's like the Bible but for DDD very big but worth every page。 The examples are very clear and it's explained from the basics。 。。。more

Renanreismartins

This book is ridiculously repetitive, it feels like it was not even reviewed by the publisher。 The author introduces a lot of well known and old concepts of good practices of OO with a new name, as if it is a completely new thing。 The code examples have really strange practices even for the time it was written。There are some good concepts inside the book, but could be way more concise。 I would suggest another title, this is too dense for very little useful information。

Miloš

DDD Masterworks: the Red Book - check!Let me first start with a list of the book's failings。First off, I can't see anyone taking in everything that this book has to offer without first going through the Blue Book (colloquial name for Eric Evans's seminal DDD book) and let's be honest - that one can be a tough nut to crack and people can get stuck reading it (guilty as charged, had to return to it and start from the beginning half a year later)。Secondly, I wish the author took his own advice on d DDD Masterworks: the Red Book - check!Let me first start with a list of the book's failings。First off, I can't see anyone taking in everything that this book has to offer without first going through the Blue Book (colloquial name for Eric Evans's seminal DDD book) and let's be honest - that one can be a tough nut to crack and people can get stuck reading it (guilty as charged, had to return to it and start from the beginning half a year later)。Secondly, I wish the author took his own advice on defining what constitutes a Bounded Context and applied it to his writing - in a lot of chapters, especially the first ones, there's an overflow of words, a piling of whole paragraphs that don't do enough (or much) to clarify the concepts and the matter at hand。 They're waffle whose purpose is either to reiterate what has already been said, to illustrate something that needs no further illustration or to (in later chapters) make you feel like you were a part of SaasOvation's decision-making/brainstorming meetings。 Granted, the last one was interesting and easy to read but still felt like a bit of a waste of both paper and time。Finally, some parts of the book haven't aged well - there's a lot of attention being given to ORM in general and Hibernate in particular but that's understandable seeing the original publication date。 That being said, I've enjoyed the book quite a bit and found it much easier to take in than its blue predecessor and I'm not ashamed to admit that there were several ohhh and aha moments concerning concepts that felt a bit vague and abstract in EE's DDD work。Choosing collaboration and project management domains for the examples and telling the tale of a software team practicing DDD at a company working in those domains was a bullseye - one of the drawbacks of the Blue Book was that sometimes the domains of the examplew were too foreign to me to follow the DDD-talk effortlessly so I first had to put in an effort to understand the business sense and then see how DDD made implementing that easier。 Here, the domain was easy to follow since most of us software folks use similar tools on a daily basis or have used them before so there's no learning curve/cognitive tax to pay in order to see what the examples were designed to make us see。 And making the examples easy to see and follow meant that the point was also easier to get across and sell (not that it needed much selling)。 All in all, a pretty useful, practical and even a tad bit enlightening read and one that I will definitely be returning to in days to come。 。。。more

Ranil Wijeyratne

It's a terrible read, don't get me wrong: what's being said is great it's just soooooo long and not fun to read。 I'd recommend his "distilled" book and then dive into the specific subjects when needed with other resources (incl。 this book) It's a terrible read, don't get me wrong: what's being said is great it's just soooooo long and not fun to read。 I'd recommend his "distilled" book and then dive into the specific subjects when needed with other resources (incl。 this book) 。。。more

Guilherme Labrego

This book was so terrible and painful to read that I almost forgot to write a review and tell why I disliked this。 I think that Alessandro’s review reflects exactly what I felt reading this “big ball of mud”。 https://www。goodreads。com/review/show。。。 This book was so terrible and painful to read that I almost forgot to write a review and tell why I disliked this。 I think that Alessandro’s review reflects exactly what I felt reading this “big ball of mud”。 https://www。goodreads。com/review/show。。。 。。。more

Marko Kunic

I never read it cover to cover because I really don't like all the cowboy reference, but I always open it when I need a refresher。Great book, can be used as a catalogue of DDD patterns。 I never read it cover to cover because I really don't like all the cowboy reference, but I always open it when I need a refresher。Great book, can be used as a catalogue of DDD patterns。 。。。more

Peter Rybarczyk

Ok, I made a big mistake by taking this book before the blue one。 But still, there is a lot of knowledge worth of reading。 But now for someone (like me) who just want to start a more professional journey with DDD。 After some discussions with colleagues, I skipped the last few chapters of this book and i am going to start with Destiled and Evans book。 Later, read Folwer Enterprise Patterns one more time。And then, for sure I'm going to read this book one more but another way than I just did, read Ok, I made a big mistake by taking this book before the blue one。 But still, there is a lot of knowledge worth of reading。 But now for someone (like me) who just want to start a more professional journey with DDD。 After some discussions with colleagues, I skipped the last few chapters of this book and i am going to start with Destiled and Evans book。 Later, read Folwer Enterprise Patterns one more time。And then, for sure I'm going to read this book one more but another way than I just did, read chapter by chapter, make notes and possibly write some code。 And have other books next to you as there is plenty of references。 And I can suggest the same to all who are considerating reading this book。 。。。more

Benjamin

I don't remember ever struggling more to get through a book than when reading this one。 I kept feeling like the requirements to properly understand the book included "having read this book already" – kind of difficult。Much of this came down to the author's decision to start with the strategic patterns before covering the tactical ones。 He gives a reason for doing so, which I can't remember, but I do remember that he references the tactical patterns an awful lot before actually covering them。 I d I don't remember ever struggling more to get through a book than when reading this one。 I kept feeling like the requirements to properly understand the book included "having read this book already" – kind of difficult。Much of this came down to the author's decision to start with the strategic patterns before covering the tactical ones。 He gives a reason for doing so, which I can't remember, but I do remember that he references the tactical patterns an awful lot before actually covering them。 I don't see what would be lost if, e。g。, value objects and entities were covered a lot earlier。And then, even within a chapter, I had to look extremely hard to find clean definitions of the main things being discussed。 When definitions did show up, more often than not they were quotes from Evans' Domain-Driven Design: Tackling Complexity in the Heart of Software, leaving me wondering if I wouldn't have been better off reading that one instead。 One reason for not doing so was the fact that Evans' original DDD book is more than a decade older, but maybe I should still read it anyway。A few more minor quibbles:- There is a strong focus on Java and Hibernate; if you happen to not work with either, the examples sometimes aren't very instructive。- The "Implementing" in the title is sometimes taken too literally; I definitely started glossing over the 101st implementation example of roughly the same thing- "Cowboy Humor"。 I can only imagine the discussions between editor and author about them。 "If those aren't in the book, I'll walk!" - "But Vaughn, they're neither funny nor instructive!" - "I'll walk!"- Some chapters keep referencing code examples at http://lokad。github。com/lokad-iddd-sa。。。, which is neither what the link for a GitHub page nor a GitHub repo looks like; it just forwards to a 404 page, and looking at https://github。com/Lokad doesn't show any "IDDD" repos。 I could only find https://github。com/jimitndiaye/lokad-。。。。This all being said, the main value from reading the book came from discussing it among colleagues, which often led to "aha" moments。 Without that, I might have given up。Since I now meet the requirements to understand the book (having read it already), I could go back and read it again, but it was just too painful。 I'm considering reading Domain-Driven Design Distilled by the same author as a kind of extended summary, but not for a while。 A long while。 。。。more

Gishu Pillai

Good book although it started going over my head from Chapter 13 onwards。NOT a page turner and the running example of a building a project mgmt tool didn't help at all。 In fact, it contributed more to the drudgery of finishing this book。Didn't care much for the cowboy duo and their jokes either。 Good book although it started going over my head from Chapter 13 onwards。NOT a page turner and the running example of a building a project mgmt tool didn't help at all。 In fact, it contributed more to the drudgery of finishing this book。Didn't care much for the cowboy duo and their jokes either。 。。。more

Dina Bogdan

I've read the book from a junior perspective that faced before some DDD principles and implementations。 Also, I've read before the book several articles and viewed some talks about Domain Driven Design。 The book helped me to understand what I've already faced before, to create a mindset of how I should develop a project from a DDD perspective, or how to improve your team velocity using DDD strategies and tactics。The book is structured really well, has a lot of code examples that are pretty simpl I've read the book from a junior perspective that faced before some DDD principles and implementations。 Also, I've read before the book several articles and viewed some talks about Domain Driven Design。 The book helped me to understand what I've already faced before, to create a mindset of how I should develop a project from a DDD perspective, or how to improve your team velocity using DDD strategies and tactics。The book is structured really well, has a lot of code examples that are pretty simple as syntax, but complicated at the same time as design。 I personally feel that if you want to read this book you should have some prerequisites to understand over 70% of it。 Certainly, when I will be in my senior years, I will read again this book。 。。。more