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 underlying principles and motivations 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 their respective responsibilities.
- Context mapping and various integration patterns.
- Managing team structures, organisational boundaries, and data ownership.
Tactical Patterns — Core Components of the Domain Model
- Entities and identity management.
- Value objects and the concept of immutability.
- Aggregates and defining transaction boundaries.
Domain Services, Repositories, and Factories
- Determining when to utilise domain services versus application services.
- Repository patterns and considerations for persistence.
- Utilising factory patterns for the creation of complex objects.
Modelling Complex Behaviour and Invariants
- Designing invariants and enforcing business rules.
- Event-driven modelling and the use of domain events.
- Consistency models, including eventual consistency and sagas.
Integrating DDD with Architecture and Engineering Practices
- Aligning DDD with modular monoliths and microservices.
- API design, anti-corruption layers, and integration strategies.
- Testing domain logic through unit tests, integration tests, and contract tests.
Adopting DDD in Teams and Organisations
- Facilitating domain discovery workshops and Event Storming sessions.
- Establishing and maintaining a ubiquitous language across teams.
- Measuring success and iterating on the domain model.
Summary and Next Steps
Requirements
- Proficient programming experience in object-oriented languages.
- A solid understanding of software architecture principles.
- Familiarity with Agile development methodologies.
Audience
- Senior developers.
- Software architects.
- Technical leads.
21 Hours
Testimonials (1)
That we could you real life examples