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
- Foundational principles and motivations for 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 delineating their responsibilities
- Context mapping and establishing integration patterns
- Managing teams, organizational boundaries, and data ownership
Tactical Patterns — Core Elements of the Domain Model
- Entities and identity management strategies
- Value objects and the principle of immutability
- Aggregates and defining transaction boundaries
Domain Services, Repositories, and Factories
- Determining when to utilize domain services versus application services
- Repository patterns and addressing persistence considerations
- Factory patterns for managing complex object creation
Modeling Complex Behavior and Invariants
- Designing invariants and enforcing strict business rules
- Event-driven modeling and the role of domain events
- Consistency models: implementing eventual consistency and sagas
Integrating DDD with Architecture and Engineering Practices
- Aligning DDD structures 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 Organizations
- Conducting domain discovery workshops and Event Storming sessions
- Establishing and maintaining a ubiquitous language across teams
- Evaluating success metrics and iterating on the domain model
Summary and Next Steps
Requirements
- Proficiency in object-oriented programming languages
- Solid grasp of software architecture principles
- Experience with Agile development methodologies
Target Audience
- Senior developers
- Software architects
- Technical leads
Testimonials (1)
That we could you real life examples