Understanding the problem space
- I think having a good understanding of your problem space results in higher quality software.
Communication between dev & business is simplified
- There’s less layers of translation. less likeihood of broken telephone happening.
DDD enables developers, domain experts and business people to communicate effectively using a single, unified language.
Bounded Context
- A simple word such as “Booking” can mean different things in different contexts
Actionable items
- Name your functions/methods in a way that represents the domain event
- Use your types to encapsulate the domain
using the ubiquitous language in conversations with domain experts is an important part of testing it, and hence the domain model