Vaughn Vernon Implementing Domain Driven Design Flashcards
what is a pattern language?
a set of software patterns that are intertwined because they are dependent on each other
what is an Ubiquitous language?
it’s a common and rigorous language used between developers of DDD
what is a bounded context?
it is a conceptual boundary where a domain model is applicable t provides a context for the ubiquitous language that is spoken by the team
what is the strategic modeling?
a boundary context and an ubiquitous language
what is context mapping?
relationships between boundary contexts
what is a powerful hexagonal architectural style?
hexagonal architecture
what are some examples of hexagonal architecture?
event driven , rest , service-oriented
should u focus on architecture or domain modeling?
domain modeling because architecture comes and goes
what does DDD help us reach?
a point where our design is exactly how our software works
why should you do DDD?
1 - Put domain experts and developers on a level playing field, which produces
software that makes perfect sense to the business
2 - That “makes sense to the business” thing means investing in the business
by making software that is as close as possible to what the business leaders
and experts would create if they were the coders
3 - You can actually teach the business more about itself
4 - Centralizing knowledge is key, because with that the business is capable of
ensuring that understanding the software is not locked in “tribal knowledge,”
available only to a select few, who are usually only the developers.
5 - There are zero translations between the domain experts, the software
developers, and the software.
6 - The design is the code, and the code is the design. The design is how it
works. Knowing the best code design comes through quick experimental
models using an agile discovery process.
7 -
how should you use DDD?
use it to simplify not to complicate
why is anemia domain model bad?
because you pay most of the high cost of developing a domain model, but u get little or none of the benefit