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 behind adopting DDD
- Cultivating a ubiquitous language through collaboration with domain experts
- Differentiating between core, supporting, and generic subdomains
Strategic Design and Bounded Contexts
- Establishing bounded contexts and assigning clear responsibilities
- Developing context maps and selecting appropriate integration patterns
- Addressing team structures, organizational boundaries, and data ownership
Tactical Patterns — The Components of the Domain Model
- Managing entity identity
- Utilizing value objects and ensuring immutability
- Defining aggregates and transactional boundaries
Domain Services, Repositories, and Factories
- Determining when to employ domain services versus application services
- Applying repository patterns and addressing persistence challenges
- Using factory patterns for complex object instantiation
Modeling Complex Behavior and Invariants
- Designing invariants to strictly enforce business rules
- Implementing event-driven modeling and domain events
- Understanding consistency models, including eventual consistency and sagas
Aligning DDD with Architecture and Engineering Standards
- Harmonizing DDD with microservices and modular monolith architectures
- Designing APIs, implementing anti-corruption layers, and planning integration strategies
- Testing domain logic through unit, integration, and contract tests
Implementing DDD in Teams and Organizations
- Facilitating domain discovery workshops and Event Storming sessions
- Building and maintaining a ubiquitous language across teams
- Tracking success metrics and refining the domain model
Concluding Remarks and Future Directions
Requirements
- Proficiency in object-oriented programming languages
- A solid grasp of software architecture fundamentals
- Experience with Agile development methodologies
Target Audience
- Senior Developers
- Software Architects
- Technical Leads
Testimonials (1)
That we could you real life examples