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
Foundations of Domain-Driven Design
- Core principles and the rationale for adopting DDD
- Establishing a ubiquitous language and fostering collaboration with domain experts
- Differentiating between core, supporting, and generic subdomains
Strategic Design and Bounded Contexts
- Defining bounded contexts and clarifying their responsibilities
- Developing context maps and selecting appropriate integration patterns
- Managing team structures, organizational boundaries, and data ownership
Tactical Patterns — The Building Blocks of the Domain Model
- Managing entities and their identity
- Implementing value objects and ensuring immutability
- Defining aggregates and establishing transaction boundaries
Domain Services, Repositories, and Factories
- Distinguishing when to use domain services versus application services
- Applying repository patterns and addressing persistence considerations
- Utilizing factory patterns for the creation of complex objects
Modeling Complex Behavior and Invariants
- Designing invariants and enforcing critical 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 strategies with microservices and modular monoliths
- Designing APIs, implementing anti-corruption layers, and defining integration strategies
- Testing domain logic through unit tests, integration tests, and contract tests
Adopting DDD in Teams and Organizations
- Conducting domain discovery workshops and Event Storming sessions
- Establishing and maintaining a ubiquitous language across multiple teams
- Evaluating success metrics and iterating on the domain model
Conclusion and Future Directions
Requirements
- Solid experience with object-oriented programming languages
- Working knowledge of software architecture principles
- Comfort with Agile development methodologies
Target Audience
- Senior developers
- Software architects
- Technical leads
Testimonials (1)
That we could you real life examples