DDD Immersion Day 1

By | June 18, 2013

So time again for some education. This time I took the Domain Driven Design Immersion course that is held by Patrik Fredriksson (@weakreference) from Citerus.

I try to make a summery of the course here in my blog on a day to day basis.

Day 1

The day started with the usual round robin presentation. Each participant was asked about the expectations of the course. The list that came up was the following:

  • Orientation
  • “Methodology”, Approach
  • Vocabulary
  • Swedish / English
  • Implementation
    • GUI
    • DB
  • Strategic design
  • Distillation
  • Interaction with domain experts
  • In-depth studies

So what is DDD?
DDD is a set of principals that focus on exploring and implementing the core domain. It gives you tools to explore the model in a creative collaboration of the domain product. It gives you an ubiquitous language that are valid inside the bounded context. So that every one working inside this bouned context uses the same language, regardless if it a developer, tester, product owner or domain expert.

The day continued with modelling and coding exercises in groups. The domain are the logistics of cargo transportation (See Evans book for more details).

Some terminology from this day:

Business area that we are working in
Our representation of the domain. It’s not the only one, other companies in the same area can have a completely different model
Domain Expert
The person that knows the domain
Ubiquitous Language
The language that we and the domain experts uses to understand the domain.
A pattern for validation. Assert, either by exception or unit-tests, that the pre and post conditions are valid.
Making implicit things explicit ease the understanding of the domain model.

Lighten Cognitive Load
Ease the thinking by abstracting away some concepts by making them explicit
Anaemic Domain Model
Strive away from this!
Design Whirlpool
Domain language model exploration process
Reference Scenario
A specification, that either we or the domain expert creates, that describes how things should be used.


Anaemic Domain Model
DDD Terms
Design Whirlpool

Disclaimer: This is my notes and my interpretation of the information. I can really recommend going the course.

Category: DDD

Leave a Reply

Your email address will not be published. Required fields are marked *