Cheat sheet

DDD words

The words of this course, one meaning each. New words join after each lesson.

From Lesson 1

WordMeaningprobat8 example
DomainThe part of the real world the software is for.Bat protection at wind turbines.
Domain expertA person who knows the domain best. Often not a developer.Bat biologists, consultants, authorities.
Ubiquitous LanguageOne shared set of words, used by the whole team in talk, docs, screens and code.One word for the shutdown values, used everywhere.
Bounded ContextA part of the system where each word has exactly one meaning. (More in a later lesson.)“operator” can mean one thing here, another thing there.

Sources: Eric Evans, DDD Reference (Definitions, p. vi); Martin Fowler, Ubiquitous Language.

Two word problems to spot

ProblemLooks likeCost
One word, many meanings“operator” = company, uploader, admin staff, comparison signQuestions, wrong guesses
One thing, many wordsShutdown values: four names in docs, backend, frontend, screenTranslation in your head, bugs

Fix a word in four steps

  1. Collect every meaning, and where you found it.
  2. Ask a domain expert what they mean.
  3. Pick one meaning per word. New words for the other meanings.
  4. Use it everywhere: talk, docs, screen, code.

Two real meanings, both needed, in different parts of the system? That hints at two Bounded Contexts.