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 motivations driving 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 their specific responsibilities.
- Context mapping and applicable integration patterns.
- Managing team dynamics, organizational boundaries, and data ownership.
Tactical Patterns — Fundamental Components of the Domain Model
- Entities and identity management strategies.
- Value objects and the concept of immutability.
- Aggregates and defining transaction boundaries.
Domain Services, Repositories, and Factories
- Distinguishing when to use domain services versus application services.
- Repository patterns and considerations for data persistence.
- Utilizing factory patterns for complex object instantiation.
Modeling Complex Behavior and Invariants
- Designing invariants and enforcing business rules.
- Event-driven modeling and the use of domain events.
- Consistency models: understanding eventual consistency and sagas.
Integrating DDD with Architecture and Engineering Practices
- Aligning DDD concepts with microservices and modular monolith architectures.
- API design, implementing anti-corruption layers, and establishing 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.
- Creating 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