DOMAIN DRIVEN DESIGN
DDDpå 7 slides og (forhåbentligt) 7 minutter
Christian Dalager, Eksponent.com, Juni 2015
2.
DOMAIN OG DESIGN
Domain – området der arbejdes i
Model – en abstraktion der beskriver udvælge dele af domænet
3.
FOKUS PÅ ITERATIVTSAMARBEJDE
Domæneeksperter og udviklere snakker sammen tidligt
Input resulterer i designmodeller og prototyper
Det afprøves hurtigt og kastes hurtigt over skulderen
4.
UBIQUITOUS LANGUAGE
Igennemsamtaler og workshops
findes et fælles sprog
Det er vigtigt at kunden
(domæneeksperten) og du
(designeren) ALDRIG ER I TVIVL om
betydningen af hinandens
udtalelser om domænet
Hvis der er tåget sprog får du tåget
software.
Domain experts should object to terms
or structures that are awkward or
inadequate to convey domain
understanding; developers should
watch for ambiguity or inconsistency
that will trip up design.
- Eric Evans
5.
MODELLERING AF DOMÆNE
Hvad er kerneelementerne i domænet? (Aggregates)
Hvad sker der i domænet? (DomainEvent)
Det Store Domæne™ nedbrydes til relevante subsystemer
(Bounded Context)
6.
BOUNDED CONTEXT
Kompleksesystemer kan opdeles i afgrænsede subsystemer
De udgør separate kontekster for forretningsregler og brugere
Hver kontekst/subdomæne vil have forskellige
definitioner/regler/behov
En bounded context har skarpe grænser til andre contexts
7.
GAME OVER. REPLAY?
Bøger
Eric Evans: Domain Driven Design
Vaughn Vernon: Implementing Domain-Driven Design
Vaughn Vernons blog: http://vaughnvernon.co/
Pluralsight
Interview med Eric Evans i SE-Radio, maj 2015: http://www.se-
radio.net/2015/05/se-radio-episode-226-eric-evans-on-domain-
driven-design-at-10-years/
EventStorming: workshopform til domæneanalyse
(http://ziobrando.blogspot.dk/2013/11/introducing-event-
storming.html