Domain-Driven Design Distilled

Domain-Driven Design Distilled

  • Downloads:1643
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2021-03-13 03:18:08
  • Update Date:2025-09-06
  • Status:finish
  • Author:Vaughn Vernon
  • ISBN:0134434420
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

Domain-Driven Design (DDD) software modeling delivers powerful results in practice, not just in theory, which is why developers worldwide are rapidly moving to adopt it。 Now, for the first time, there's an accessible guide to the basics of DDD: What it is, what problems it solves, how it works, and how to quickly gain value from it。 Concise, readable, and actionable, Domain-Driven Design Distilled never buries you in detail-it focuses on what you need to know to get results。 Vaughn Vernon, author of the best-selling Implementing Domain-Driven Design, draws on his twenty years of experience applying DDD principles to real-world situations。 He is uniquely well-qualified to demystify its complexities, illuminate its subtleties, and help you solve the problems you might encounter。 Vernon guides you through each core DDD technique for building better software。 You'll learn how to segregate domain models using the powerful Bounded Contexts pattern, to develop a Ubiquitous Language within an explicitly bounded context, and to help domain experts and developers work together to create that language。 Vernon shows how to use Subdomains to handle legacy systems and to integrate multiple Bounded Contexts to define both team relationships and technical mechanisms。 Domain-Driven Design Distilled brings DDD to life。 Whether you're a developer, architect, analyst, consultant, or customer, Vernon helps you truly understand it so you can benefit from its remarkable power。 Coverage includes What DDD can do for you and your organization-and why it's so important The cornerstones of strategic design with DDD: Bounded Contexts and Ubiquitous Language Strategic design with Subdomains Context Mapping: helping teams work together and integrate software more strategically Tactical design with Aggregates and Domain Events Using project acceleration and management tools to establish and maintain team cadence

Download

Reviews

Jignesh

Before reading this book I have skim through Domain-Driven Design (DDD) courses on Pluralsight and read somewhat in Microsoft articles and work with a microservice project that implements DDD & CQRS。 That had helped me follow along the book, otherwise I would have found this book challenging。 None the less this is an important book in the world of DDD introduction and last two chapters about project planning and estimation I found it very useful。

Michal Sokolowski

Very helpful overview of the DDD concepts

Nepomuk Frädrich

Gute, kurze Zusammenfassung。 Die deutsche Übersetzung holpert natürlich etwas。 Aber um einen (ersten) schnellen Überblick zu bekommen ist es gut。

Pierrick Blons

Great summary of the entire DDD approach。

KK Reader

Good concise explanation about DDD

Kornala Arun

I won't call it a good place to start as it does not delve into the "why" of domain driven design。 What it does really well is compress a complex subject and extract a few actionable frameworks that you can apply。 I won't call it a good place to start as it does not delve into the "why" of domain driven design。 What it does really well is compress a complex subject and extract a few actionable frameworks that you can apply。 。。。more

Miguel González

If every time he refers to the other book the characters were used to write something useful, this book would worth reading。 With the amount of pages written for sure a lot of concept could be explained with morse detail, but obviously the purpose of this book is not for you to learn anything, but for you to buy his other book

Henry Suryawirawan

A short and concise book to introduce Domain Driven Design (DDD) core knowledge and how to implement it。 It is not meant to be a comprehensive guide to DDD。 I enjoyed reading it to refresh my understanding of DDD, especially since it has been a while since I last read Eric Evan's DDD book。 A short and concise book to introduce Domain Driven Design (DDD) core knowledge and how to implement it。 It is not meant to be a comprehensive guide to DDD。 I enjoyed reading it to refresh my understanding of DDD, especially since it has been a while since I last read Eric Evan's DDD book。 。。。more

Cayla Green

It's a shame that I cannot get the two hours of my life I spent reading this book back。 The author bandies about terms with definitions that are so nonspecific they lose any meaning to the reader。 I am either unconvinced by DDD or this book did not appropriately explain it。 It's a shame that I cannot get the two hours of my life I spent reading this book back。 The author bandies about terms with definitions that are so nonspecific they lose any meaning to the reader。 I am either unconvinced by DDD or this book did not appropriately explain it。 。。。more

Fábio

This was my first book on DDD。 Either I am too dumb to understand DDD in a distilled version, or there is something else going on with this book, because I did not learn anything practical about how to start DDD even on a small scale project。Maybe I will give it another go once I read more about DDD elsewhere。

Esteban Invernizzi

DDDD is a decent intro to Domain-Driven Design that, for the most part, left me wanting more。 I feel it's unnecessarily succinct。The problems covered and the resources offered to solve them resonate well with real-life software delivery processes。The combination of high-level, abstract concepts with concrete examples that even go to the code level can be confusing: there's no single way of applying the concepts covered in the book, and the code examples are not deep enough to show the full stren DDDD is a decent intro to Domain-Driven Design that, for the most part, left me wanting more。 I feel it's unnecessarily succinct。The problems covered and the resources offered to solve them resonate well with real-life software delivery processes。The combination of high-level, abstract concepts with concrete examples that even go to the code level can be confusing: there's no single way of applying the concepts covered in the book, and the code examples are not deep enough to show the full strength of the tools offered。Ad-hoc diagrams are slightly abused。 All sections begin with a diagram and not all are clear。 。。。more

Jeferson Urbieta

Um livro muito bom e rapido sobre DDD, não tem tudo que o livro Domain-Driven Design: Tackling Complexity in the Heart of Softwarede do Eric Evans, mas o curto tempo de leitura compensa。

Renan Macedo

gives a great summary on how to implement DDD。

Nisreen

It's a good book that give us an overview of the Ddd design principles in order to accomplish in our application It's a good book that give us an overview of the Ddd design principles in order to accomplish in our application 。。。more

Andrew Krause

Felt like reading the notes of a harried analytical philosopher who stumbled into an engineering department。 Probably more helpful for people who are already practicing DDD to refresh their understanding, as opposed to those needing an introduction like myself。 There seems to be something to it, but not sure the jargon helps。 Also weirdly prescriptive at times (e。g。 what colors of post-it notes to use and how to draw arrows)。

Oleg Bondarenko

It's pretty unusual to read a book about a programming without a single line of code。 But in general a good book。 Unfortunately the approach doesn't fit for the project I'm working on, but anyway it's an interesting way to develop programming products It's pretty unusual to read a book about a programming without a single line of code。 But in general a good book。 Unfortunately the approach doesn't fit for the project I'm working on, but anyway it's an interesting way to develop programming products 。。。more

ziombel

Jest to moja pierwsza książka/kurs na temat Domain Driven Design (DDD)。 Czytałem wersję angielską。 Autor postawił sobie jako cel skrócone przedstawienie DDD, aby można było zacząć pracować z tą techniką w swoim projekcie od zaraz。Autor omawia różne pojęcia DDD w krótkich rozdziałach。 Posługuje się przykładem implementowania aplikacji do zarządzania projektem Scrum oraz przykładem polis w firmie ubezpieczeniowej。 Przechodzi przez Bounded Context, Unbiqious Language, Subdomeny, sposoby integracji Jest to moja pierwsza książka/kurs na temat Domain Driven Design (DDD)。 Czytałem wersję angielską。 Autor postawił sobie jako cel skrócone przedstawienie DDD, aby można było zacząć pracować z tą techniką w swoim projekcie od zaraz。Autor omawia różne pojęcia DDD w krótkich rozdziałach。 Posługuje się przykładem implementowania aplikacji do zarządzania projektem Scrum oraz przykładem polis w firmie ubezpieczeniowej。 Przechodzi przez Bounded Context, Unbiqious Language, Subdomeny, sposoby integracji między Bounded Context, projektowanie agregatów oraz udziela kilku uwag odnośnie pracy z DDD w projekcie。 Autor też mocno promuje architekturę opartą na zdarzeniach (Event Sourcing)。Pisząc delikatnie, książka nie zrobiła na mnie dobrego wrażenia zarówno na temat DDD jak i samego autora。 Pierwszym poważnym problemem jest niejasność i wysoka abstrakcja wielu stosowanych terminów。 Np。 Co to jest Bounded Context według autora:First, a Bounded Context is a semantic contextual boundary。 This means that within the boundary each component of the software model has a specific meaning and does specific things。 The components inside a Bounded Context are context specific and semantically motivated。 That’s simple enough。Czyli Bounded Context to jakiś kontekst z granicami, który zawiera w sobie jakieś rzeczy。 Nie mówi to dla mnie zbyt wiele。 Podobnie jest z wieloma innymi terminami powiązanymi z DDD。 Ja rozumiem, że książka miała to przedstawić w skondensowany sposób, ale to poszło o wiele za daleko。 Tym bardziej, że drugim poważnym problemem jest masa szumu wokół treści DDD。 Zazwyczaj autor zaczyna od DDD, a później potrafi dodawać uwagi/rozpisywać się o takich rzeczach jak SOAP/REST, Event Sourcing, estymowanie zadań, pisanie testów jednostkowych itd。 Wiele z tego szumu nie jest tutaj potrzebne oraz według mnie jest przedstawiane w niezbyt przemyślany sposób。 Innymi ciekawymi kwiatkami były na przykład takie akapity:RESTful HTTP will tend to fail for many of the same reasons that RPC does—network and service provider failures, or unanticipated latency。 However, RESTful HTTP is based on the premise of the Internet, and who can find fault with the track record of the Web when it comes to reliability, scalability, and overall success?Albo nie rozumiem tego akapitu, albo autor sugeruje, że nie ma co się zbytnio przejmować problemami infrastrukturalnymi w przypadku korzystania z REST, bo internet jest niezawodny a jak korzystamy z REST to przecież działami przez Internet。 A co z serwerami, na których hostowane są nasze aplikacje oraz łączami między serwerami?Często są też fragmenty typu rób X, a nie rób Y bez żadnego podania powodu dlaczego podejście X jest lepsze od Y。 Po prostu rób tak bo autor tak pisze。 Innym przykładem dużych niejasności jest jego opis modelowania agregatów。 Autor w tej książce nie zaleca stosowania „anemicznego modelu danych”, w którym to encje reprezentują dane, a serwisy operują na danych tych encji。 Ale opisał to w ten sposób, że czytelnik ma wrażenie, że autor zaleca umieszczenie wszelkich operacji w encjach z danymi (co np。 z zapisem do bazy, wysyłaniem wiadomości do innych usług itp。?)。 Jak to zobaczyłem to aż spojrzałem do jego drugiej, dłuższej książki i tam jest to zrobione w tradycyjnej formie (serwis, repozytoria)。 Autorowi chodziło jedynie o to, aby zamiast stosować settery, użyć np。 metod biznesowych jak np。 sprint。schedule(…) które ustawiają odpowiednie dane wewnątrz kodu encji。Z pozytywnych rzeczy podobał mi się opis Event Storming do grupowego projektowania funkcjonalności oraz dzielenia się wiedzą za pomocą samoprzylepnych karteczek (ale opisy np。 jakiego koloru użyć do jakiego typu karteczki są trochę przesadzone)。 Podobało mi się też stwierdzenie, że aby odnieść sukces z DDD, trzeba mieć dobrych deweloperów :)。Podsumowując, książka zraziła mnie do DDD i raczej nie sięgnę po inne prace na ten temat przez najbliższy czas。 Według mnie najważniejszym przesłaniem tej książki (które przynajmniej dla mnie było i jest bliskie sercu) jest potrzeba bliskiej współpracy deweloperów z ludźmi znającymi wymagania biznesowe oraz pisanie kodu w ten sposób, aby te wymagania były odzwierciedlone w kodzie aplikacji (łącze z sensownymi nazwami operacji i danych)。 Książki nie polecam。 。。。more

Sérgio Azevedo

Never read a book about DDD before, but I found this one too distilled for 136 pages long。 I mean that the actual content could be summarized in a couple Medium articles without losing much information。The first chapters dwell on basic stuff that I think most people already know even if they don't relate those concepts to DDD。Still I found that there was interesting information and I will try to know more。 Never read a book about DDD before, but I found this one too distilled for 136 pages long。 I mean that the actual content could be summarized in a couple Medium articles without losing much information。The first chapters dwell on basic stuff that I think most people already know even if they don't relate those concepts to DDD。Still I found that there was interesting information and I will try to know more。 。。。more

Lisandro

If you haven't head at all about Domain-Driven Design or have very little knowledge about it, this is a good book to start with。 It explains all the concepts in a linear way, giving you a clear understanding of what to expect in each of the phases of a DDD project。Especially interesting is the description of implementing your Aggregates, that is your entities inside your bounded context, and the relationship between the devs and domain experts。I would suggest this book as a starter if you are ne If you haven't head at all about Domain-Driven Design or have very little knowledge about it, this is a good book to start with。 It explains all the concepts in a linear way, giving you a clear understanding of what to expect in each of the phases of a DDD project。Especially interesting is the description of implementing your Aggregates, that is your entities inside your bounded context, and the relationship between the devs and domain experts。I would suggest this book as a starter if you are new to Domain-Driven Design。 。。。more

Д Глеб

Слишком скомкано и коротко, нет захода издалека с примерами и объяснениями зачем DDD нужен。

Alo

The book purports to give a distilled overview of DDD yet spends entire pages adding useless fluff around concepts。 The material presented could have been better compressed into 5-10 slides or a blog post, instead of 120-odd pages。 Lastly, the author concludes with this stupidity, losing any remaining credibility, not only coming off as elitist, but killing any motivation for a reader to even attempt good, sensible software design。"One of the most important means to successfully employing DDD on The book purports to give a distilled overview of DDD yet spends entire pages adding useless fluff around concepts。 The material presented could have been better compressed into 5-10 slides or a blog post, instead of 120-odd pages。 Lastly, the author concludes with this stupidity, losing any remaining credibility, not only coming off as elitist, but killing any motivation for a reader to even attempt good, sensible software design。"One of the most important means to successfully employing DDD on a project is to hire good people。 There is simply no replacement for good people, and above-average developers for that matter。 DDD is an advanced philosophy and technique for developing software, and it calls for above-average developers, even very good developers, to put it to use。" 。。。more

Bas Langenberg

A bunch of mixed feelings here。 First of all, the book feels like it wants to sell another book written by the same author on multiple occasions。 Second, it should expand on the core principle of DDD more than it does。 I'm not sure if I should move forward and read something more in depth on the subject, which is a huge shortcoming on this book。 A bunch of mixed feelings here。 First of all, the book feels like it wants to sell another book written by the same author on multiple occasions。 Second, it should expand on the core principle of DDD more than it does。 I'm not sure if I should move forward and read something more in depth on the subject, which is a huge shortcoming on this book。 。。。more

Christoph Kappel

Oh well - this book is a bit weird。 It is hard to grasp, why the author is so convicted in regard to DDD, it almost feels like a religion to me。 I normally don't have problems with people who believe in something, but when every third sentence contains something like all will be well once you've read this book and/or use this technique, it is a bit tiring。 And it sometimes feels like a kind of brochure, when every paragraph contains ad to another book。I think the book is a good starter to the wh Oh well - this book is a bit weird。 It is hard to grasp, why the author is so convicted in regard to DDD, it almost feels like a religion to me。 I normally don't have problems with people who believe in something, but when every third sentence contains something like all will be well once you've read this book and/or use this technique, it is a bit tiring。 And it sometimes feels like a kind of brochure, when every paragraph contains ad to another book。I think the book is a good starter to the whole DDD topic, but requires further reads。 。。。more

Javier

I feel many of the topics covered in the book were poorly summarized, and in some cases the author started talking about a given concept out of the blue, without defining it previously。Some of the design concepts simply show up, and even though they might sound questionable to some practitioners, there is little attempt made at justifying them。 I know the title says "distilled", but at times I feel the title should read "evaporated away"。I also got tired of the multiple "I explain this in detail I feel many of the topics covered in the book were poorly summarized, and in some cases the author started talking about a given concept out of the blue, without defining it previously。Some of the design concepts simply show up, and even though they might sound questionable to some practitioners, there is little attempt made at justifying them。 I know the title says "distilled", but at times I feel the title should read "evaporated away"。I also got tired of the multiple "I explain this in detail in my OTHER book" (with the implied suggestion of buying it) all over the text。 The author seems to have a consulting business for DDD, and this book reads more like a piece of advertising for his business, than a proper summary/helpful teaching aid for DDD。 。。。more

Slava Bychkov

Хорошая книга, если уже есть знания по DDD и есть необходимость обновить теорию а памяти

Kyle

This book lives up to its last word, distilled。 This book is extremely fast read that gives you the high level concepts of DDD and gives you the vocabulary to be able to hold a conversation about the concepts of DDD。 Honestly it feels like this book is here to get your interest so that you go read more about it。 If you are looking for enough knowledge about DDD to actually implement it, this is not the book for you。 If you just want to get a crash course than this is a fine place to start。

Ognen Bendevski

A bit abstract, but still very helpful。 Will follow up with the long version for Domain-Driven Design。

François Wouts

I wasn't familiar with DDD before I picked this up。 I didn't find this book particularly helpful。 It was all still a blur by the end。 Reading the original DDD book afterwards helped bring some clarity, although that book could have been much better structured。 I wasn't familiar with DDD before I picked this up。 I didn't find this book particularly helpful。 It was all still a blur by the end。 Reading the original DDD book afterwards helped bring some clarity, although that book could have been much better structured。 。。。more

Rafael Araújo

Great book。 That is a fantastic overview of about implementing a Domain Driven Design

Antonio

Very good is short versions of implementing DDD but it does a very good job by defining in a few words very important concepts。