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 ubiquitous language and fostering collaboration with domain experts
- Differentiating between core, supporting, and generic subdomains
Strategic Design and Bounded Contexts
- Establishing bounded contexts and defining their specific responsibilities
- Utilizing context mapping and various integration patterns
- Navigating team structures, organizational boundaries, and data ownership
Tactical Patterns — Core Elements of the Domain Model
- Managing entities and their identity
- Utilizing value objects and ensuring immutability
- Structuring aggregates and defining transaction boundaries
Domain Services, Repositories, and Factories
- Distinguishing between domain services and application services
- Applying repository patterns and addressing persistence strategies
- Employing factory patterns for creating complex objects
Modeling Complex Behaviors and Invariants
- Designing invariants to enforce critical business rules
- Leveraging event-driven modeling and domain events
- Implementing consistency models, including eventual consistency and sagas
Aligning DDD with Architectural and Engineering Practices
- Integrating DDD with microservices and modular monolith architectures
- Designing APIs, using anti-corruption layers, and planning integration strategies
- Testing domain logic through unit, integration, and contract tests
Implementing DDD Across Teams and Organizations
- Conducting domain discovery workshops and Event Storming sessions
- Building and maintaining a ubiquitous language across teams
- Evaluating success and refining the domain model iteratively
Wrap-up and Recommended Next Steps
Requirements
- Proficient experience with object-oriented programming languages
- Solid grasp of software architecture principles
- Good working knowledge of Agile development methodologies
Target Audience
- Senior developers
- Software architects
- Technical leads
Testimonials (1)
That we could you real life examples