Slide 1

Slide 1 text

DDD Basics February 11, 2014 - Olen, Belgium wifi: ITR-Events / domaindriven

Slide 2

Slide 2 text

Kindly hosted by

Slide 3

Slide 3 text

Community Talks Call for Proposals domaindriven.be/cfp

Slide 4

Slide 4 text

Defining DDD (Yves) Ubiquitous Language (Jef) Bounded Contexts (Mathias) Context Mapping (Stijn) Modelling (Mathias) Starting/Selling DDD (Tom) Q&A / Lean Coffee

Slide 5

Slide 5 text

Bounded Contexts

Slide 6

Slide 6 text

Large complex systems: increased cognitive load

Slide 7

Slide 7 text

Large complex systems: divergence in mental model

Slide 8

Slide 8 text

Large complex systems: subtle nuances in meaning

Slide 9

Slide 9 text

Avoid a big unified centralised model.

Slide 10

Slide 10 text

Split into Bounded Contexts

Slide 11

Slide 11 text

Benefits: clarity model integrity freedom to evolve separately

Slide 12

Slide 12 text

Inspired by departments teams life cycles business processes …

Slide 13

Slide 13 text

Make Bounded Context explicit pure independent consistent within its boundary

Slide 14

Slide 14 text

Modelling

Slide 15

Slide 15 text

Structural modelling Ontological

Slide 16

Slide 16 text

Structural modelling inspired by persistence concerns

Slide 17

Slide 17 text

Relational Normalised CRUD Anaemic

Slide 18

Slide 18 text

Ask your Domain Expert about State Changes!

Slide 19

Slide 19 text

Why does it change? When does it change? How often? Who causes it? By which rules? What consequences?

Slide 20

Slide 20 text

! ! The moving parts are more interesting than the stable parts

Slide 21

Slide 21 text

! ! A Domain Model is about:

Slide 22

Slide 22 text

state + structure behaviour + change temporal roles + actors business rules + invariants causality + correlation interaction processes workflows + transitions intention + consequence failure …

Slide 23

Slide 23 text

Modelling: Make the implicit explicit

Slide 24

Slide 24 text

example ! Intentions: Command Objects Consequences: Domain Events

Slide 25

Slide 25 text

@mathiasverraes http://verraes.net