What you will learn.
Domain-Driven Design bridges the gap between business complexity and the software that models it. This course teaches both the strategic patterns (bounded contexts, context maps) and the tactical building blocks (entities, aggregates, repositories, domain events) through hands-on modelling exercises.
At course completion, students will be able to:
- Understand DDD principles and the importance of the domain model
- Apply ubiquitous language to align developers and domain experts
- Define and implement bounded contexts
- Design entities, value objects and aggregates correctly
- Apply the repository pattern for persistence abstraction
- Use domain services for business logic that spans aggregates
- Implement domain events for loose coupling between contexts
- Draw and interpret context maps for multi-team architectures