DOMAIN DRIVEN DESIGN
DDD på 7 slides og (forhåbentligt) 7 minutter
Christian Dalager, Eksponent.com, Juni 2015
DOMAIN OG DESIGN
 Domain – området der arbejdes i
 Model – en abstraktion der beskriver udvælge dele af domænet
FOKUS PÅ ITERATIVT SAMARBEJDE
 Domæneeksperter og udviklere snakker sammen tidligt
 Input resulterer i designmodeller og prototyper
 Det afprøves hurtigt og kastes hurtigt over skulderen
UBIQUITOUS LANGUAGE
 Igennem samtaler 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
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)
BOUNDED CONTEXT
 Komplekse systemer 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
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

Domain-Driven Design på 7 min

  • 1.
    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