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
- The underlying principles and rationale for adopting DDD
- Establishing a ubiquitous language and collaborating effectively with domain experts
- Identifying core, supporting, and generic subdomains
Strategic Design and Managing Bounded Contexts
- Defining the scope and responsibilities of bounded contexts
- Utilizing context mapping and integration patterns
- Navigating team structures, organizational boundaries, and data ownership issues
Tactical Patterns — The Foundation of the Domain Model
- Managing entity identity and behavior
- Leveraging value objects and ensuring immutability
- Defining aggregates and establishing transaction boundaries
Implementing Domain Services, Repositories, and Factories
- Determining when to use domain services versus application services
- Applying repository patterns and considering persistence strategies
- Using factory patterns for the creation of complex objects
Modeling Complex Behaviors and Enforcing Invariants
- Designing invariants to uphold strict business rules
- Employing event-driven modeling and domain events
- Applying consistency models, including eventual consistency and sagas
Aligning DDD with Architecture and Engineering Standards
- Aligning DDD structures with microservices and modular monoliths
- Designing APIs, implementing anti-corruption layers, and planning integration strategies
- Testing domain logic through unit tests, integration tests, and contract tests
Implementing DDD Across Teams and Organizations
- Conducting domain discovery workshops and Event Storming sessions
- Building and maintaining a consistent ubiquitous language across teams
- Tracking success metrics and iteratively refining the domain model
Conclusion and Future Directions
Requirements
- Proficient experience in object-oriented programming languages
- Solid grasp of software architecture fundamentals
- Working knowledge of Agile development methodologies
Target Audience
- Senior developers
- Software architects
- Technical leads
Testimonials (1)
That we could you real life examples