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.
- Establishing a ubiquitous language and fostering collaboration with domain experts.
- Classifying core, supporting, and generic subdomains.
Strategic Design and Bounded Contexts
- Defining bounded contexts and delineating their specific responsibilities.
- Developing context maps and selecting appropriate integration patterns.
- Navigating team structures, organizational boundaries, and data ownership.
Tactical Patterns: The Building Blocks of the Domain Model
- Entities and the management of identity.
- Value objects and the principles of immutability.
- Aggregates and defining transaction boundaries.
Domain Services, Repositories, and Factories
- Distinguishing when to use domain services versus application services.
- Implementing repository patterns and considering persistence strategies.
- Utilizing factory patterns for complex object instantiation.
Modeling Complex Behavior and Invariants
- Designing invariants and rigorously enforcing business rules.
- Employing event-driven modeling and domain events.
- Implementing consistency models, including eventual consistency and sagas.
Integrating DDD with Architecture and Engineering Practices
- Aligning DDD strategies with microservices and modular monolith architectures.
- API design, implementing anti-corruption layers, and integration strategies.
- Testing domain logic through unit, integration, and contract tests.
Adopting DDD in Teams and Organizations
- Facilitating domain discovery workshops and Event Storming sessions.
- Establishing and managing a ubiquitous language across diverse teams.
- Evaluating success metrics and iterating on the domain model.
Conclusion and Path Forward
Requirements
- Proficient experience in object-oriented programming languages.
- Solid grasp of software architecture principles.
- Working knowledge of Agile development methodologies.
Target Audience
- Senior Developers
- Software Architects
- Technical Leads
Testimonials (1)
That we could you real life examples