DDD — Notes from the big blue book. Part 5

Chapter 9

  • To find implicit concepts
  • be aware of hints in the design
  • search them out
  • listen to language used and learn
  • Scrutinise awkwardness of design
  • Scrutinise code that does awkward things and is hard to explain
  • Domain experts may be inconsistent — this may indicate an implicit concept
  • Make constraints explicit
  • Look at analysis models/patterns
  • Ideally do not want to make procedures a part of the domain model — unless they are spoken about

Chapter 10

  • State post conditions of operations and invariants of classes and aggregates — ** maybe as unit test? **
  • Models are awkward because they are missing pieces — successive refactorings lead to conceptual contours which clarify the model
  • Decompose design elements consistently with the domain
  • A requirement that forces extensive change is a sign that the model does not fit
  • ** Closure of operations **
  • Carve off sub-domains