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.
Course Outline
Introduction to Domain-Driven Design
- Core principles and the motivation behind adopting DDD.
- Utilizing ubiquitous language to foster collaboration with domain experts.
- Distinguishing between core, supporting, and generic subdomains.
Strategic Design and Bounded Contexts
- Defining bounded contexts and clarifying their responsibilities.
- Context mapping and exploring integration patterns.
- Managing team dynamics, organizational boundaries, and data ownership.
Tactical Patterns — The Building Blocks of the Domain Model
- Understanding entities and identity management.
- Working with value objects and ensuring immutability.
- Implementing aggregates and defining transaction boundaries.
Domain Services, Repositories, and Factories
- Determining when to use domain services versus application services.
- Applying repository patterns and addressing persistence concerns.
- Leveraging factory patterns for the creation of complex objects.
Modeling Complex Behavior and Invariants
- Designing invariants and enforcing strict business rules.
- Employing event-driven modeling and managing domain events.
- Understanding consistency models, including eventual consistency and sagas.
Integrating DDD with Architecture and Engineering Practices
- Aligning DDD with microservices architectures and modular monoliths.
- API design, implementing anti-corruption layers, and developing integration strategies.
- Testing domain logic through unit tests, integration tests, and contract tests.
Adopting DDD in Teams and Organizations
- Facilitating domain discovery workshops and conducting Event Storming sessions.
- Establishing and maintaining a ubiquitous language across teams.
- Measuring success metrics and iterating on the domain model.
Summary and Next Steps
Requirements
- Proficient programming experience in object-oriented languages.
- Solid understanding of software architecture principles.
- Familiarity with Agile development methodologies.
Target Audience
- Senior developers.
- Software architects.
- Technical leads.
21 Hours
Testimonials (1)
That we could you real life examples