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
- The foundational principles and driving forces behind DDD.
- Establishing a ubiquitous language and fostering collaboration with domain experts.
- Differentiating between core, supporting, and generic subdomains.
Strategic Design and Bounded Contexts
- Defining bounded contexts and delineating their specific responsibilities.
- Mapping contexts and selecting appropriate integration patterns.
- Navigating team structures, organizational boundaries, and data ownership.
Tactical Patterns — The Building Blocks of the Domain Model
- Managing entities and their identity.
- Utilizing value objects and ensuring immutability.
- Defining aggregates and establishing transaction boundaries.
Domain Services, Repositories, and Factories
- Determining when to employ domain services versus application services.
- Applying repository patterns and considering persistence strategies.
- Using factory patterns for the creation of complex objects.
Modeling Complex Behavior and Invariants
- Designing invariants to enforce critical business rules.
- Implementing event-driven modeling and domain events.
- Exploring consistency models, including eventual consistency and sagas.
Integrating DDD with Architecture and Engineering Practices
- Aligning DDD strategies 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.
Adopting DDD in Teams and Organizations
- Conducting domain discovery workshops and Event Storming sessions.
- Establishing and maintaining a ubiquitous language across multiple teams.
- Measuring success metrics and iterating on the domain model.
Summary and Next Steps
Requirements
- Proficiency in object-oriented programming languages.
- A solid grasp 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