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 motivations for adopting DDD
- Establishing a ubiquitous language and collaborating with domain experts
- Differentiating between core, supporting, and generic subdomains
Strategic Design and Bounded Contexts
- Defining bounded contexts and assigning their responsibilities
- Creating context maps and defining integration patterns
- Managing teams, organizational boundaries, and data ownership
Tactical Patterns — Building Blocks of the Domain Model
- Entities and managing identity
- Value objects and the importance of immutability
- Aggregates and establishing transaction boundaries
Domain Services, Repositories, and Factories
- Determining when to use domain services versus application services
- Applying repository patterns and addressing persistence concerns
- Using factory patterns for complex object creation
Modeling Complex Behavior and Invariants
- Designing invariants and enforcing business rules
- Implementing event-driven modeling and domain events
- Understanding consistency models, including eventual consistency and sagas
Integrating DDD with Architecture and Engineering Practices
- Aligning DDD with microservices and modular monolith architectures
- API design, anti-corruption layers, and integration strategies
- Testing domain logic via unit tests, integration tests, and contract tests
Adopting DDD in Teams and Organizations
- Conducting domain discovery workshops and Event Storming sessions
- Creating and maintaining a ubiquitous language across teams
- Measuring success and iterating on the domain model
Summary and Next Steps
Requirements
- Proficient experience in object-oriented programming languages
- Solid understanding of software architecture principles
- Familiarity with Agile development methodologies
Target Audience
- Senior developers
- Software architects
- Technical leads
Testimonials (1)
That we could you real life examples