Domain-Driven Design (DDD) is an approach to software development that focuses on understanding and solving business problems through a shared domain model. It helps development teams create software that reflects business rules, terminology, and priorities more accurately.
This course examines how complex problems are identified, modelled, and implemented using DDD principles. Through strategic and tactical design practices, participants will translate a real-world domain model into code during live coding workshops.
Delegates will learn how to
- Understand the purpose and core principles of Domain-Driven Design
- Identify problem spaces, solution spaces, and subdomains
- Develop a ubiquitous language with business stakeholders and technical teams
- Define bounded contexts and map relationships between them
- Apply tactical DDD patterns such as entities, value objects, aggregates, and domain events
- Translate a domain model into maintainable code using Clean Architecture principles
Audience
- Software developers and senior developers working on business-critical applications
- Software architects and technical leads responsible for application design
- Development teams that want to improve collaboration with domain experts
- Professionals involved in designing complex software systems