Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Duration 21 hours
Course Outline
Introduction to Domain-Driven Design
- Core principles and the rationale behind DDD
- The role of ubiquitous language in collaborating with domain experts
- Differentiating between core, supporting, and generic subdomains
Strategic Design and Bounded Contexts
- Establishing bounded contexts and defining their responsibilities
- Context mapping and integration strategies
- Managing teams, organisational boundaries, and data ownership
Tactical Patterns — Building Blocks of the Domain Model
- Entities and managing identity
- Value objects and the principle of immutability
- Aggregates and defining transaction boundaries
Domain Services, Repositories, and Factories
- Determining when to use domain services versus application services
- Repository patterns and considerations for persistence
- Utilising factory patterns for complex object creation
Modelling Complex Behaviour and Invariants
- Designing invariants to enforce business rules
- Event-driven modelling and the use of domain events
- Consistency models: eventual consistency and sagas
Integrating DDD with Architecture and Engineering Practices
- Aligning DDD with microservices and modular monoliths
- API design, anti-corruption layers, and integration strategies
- Testing domain logic: unit tests, integration tests, and contract tests
Adopting DDD in Teams and Organisations
- Facilitating domain discovery workshops and Event Storming
- Developing and maintaining a ubiquitous language across teams
- Measuring success and iteratively refining the domain model
Summary and Next Steps
Requirements
- Proficient programming experience in object-oriented languages
- A solid understanding of software architecture principles
- Working knowledge of Agile development practices
Audience
- Senior developers
- Software architects
- Technical leads
Testimonials (1)
That we could you real life examples