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
- Principles and motivations behind DDD.
- Ubiquitous language and collaboration with domain experts.
- Distinguishing core, supporting, and generic subdomains.
Strategic Design and Bounded Contexts
- Defining bounded contexts and their responsibilities.
- Context mapping and integration patterns.
- Managing teams, organizational boundaries, and data ownership.
Tactical Patterns — Building Blocks of the Domain Model
- Entities and identity management.
- Value objects and immutability.
- Aggregates and transaction boundaries.
Domain Services, Repositories, and Factories
- When to use domain services versus application services.
- Repository patterns and persistence considerations.
- Factory patterns for complex object creation.
Modeling Complex Behavior and Invariants
- Designing invariants and enforcing business rules.
- Event-driven modeling and domain events.
- Consistency models: eventual consistency and sagas.
Integrating DDD with Architecture and Engineering Practices
- Aligning DDD with microservices and modular monoliths.
- API design, anti-corruption layers, and integration strategies.
- Testing domain logic: unit tests, integration tests, and contract tests.
Adopting DDD in Teams and Organizations
- Conducting domain discovery workshops and Event Storming.
- Creating and managing a ubiquitous language across teams.
- Measuring success and iterating on the domain model.
Summary and Next Steps
Requirements
- Extensive programming experience in object-oriented languages.
- Solid understanding of software architecture principles.
- Familiarity with Agile development practices.
Target Audience
- Senior developers.
- Software architects.
- Technical leads.
21 Hours
Testimonials (1)
That we could you real life examples