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 DDD
- The role of ubiquitous language in collaborating with domain experts
- Differentiating between core, supporting, and generic subdomains
Strategic Design and Bounded Contexts
- Establishing bounded contexts and defining their respective responsibilities
- Developing context maps and selecting integration patterns
- Addressing team structures, organizational boundaries, and data ownership
Tactical Patterns — Components of the Domain Model
- Entities and the management of identity
- Value objects and the principle of immutability
- Aggregates and defining transaction boundaries
Domain Services, Repositories, and Factories
- Determining when to apply domain services versus application services
- Repository patterns and considerations for persistence
- Factory patterns for creating complex objects
Modeling Complex Behavior and Invariants
- Structuring invariants and enforcing business rules
- Event-driven modeling and the use of domain events
- Consistency models, including eventual consistency and sagas
Aligning DDD with Architecture and Engineering Practices
- Harmonizing DDD with microservices and modular monoliths
- API design, anti-corruption layers, and integration strategies
- Testing domain logic through unit, integration, and contract tests
Implementing DDD in Teams and Organizations
- Conducting domain discovery workshops and Event Storming sessions
- Building and sustaining a ubiquitous language across teams
- Evaluating success metrics and iterating on the domain model
Conclusion and Future Directions
Requirements
- Proficiency in object-oriented programming languages
- Knowledge of core software architecture principles
- Exposure to Agile development methodologies
Target Audience
- Senior Developers
- Software Architects
- Technical Leads
Testimonials (1)
That we could you real life examples