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.
Duration 21 hours
Course Outline
Introduction to Domain-Driven Design
- Core principles and underlying motivations for DDD
- Utilizing ubiquitous language and collaborating with domain experts
- Differentiating between core, supporting, and generic subdomains
Strategic Design and Bounded Contexts
- Establishing bounded contexts and delineating their responsibilities
- Mapping contexts and applying integration patterns
- Addressing team dynamics, organizational boundaries, and data ownership
Tactical Patterns — Building Blocks of the Domain Model
- Managing entities and their identity
- Implementing value objects and ensuring immutability
- Defining aggregates and transactional boundaries
Domain Services, Repositories, and Factories
- Distinguishing between domain services and application services
- Applying repository patterns and addressing persistence requirements
- Using factory patterns for the creation of complex objects
Modeling Complex Behavior and Invariants
- Designing invariants and enforcing business rules
- Implementing event-driven modeling and domain events
- Understanding consistency models, including eventual consistency and sagas
Integrating DDD with Architecture and Engineering Practices
- Aligning DDD with microservices and modular monolith architectures
- Designing APIs, implementing anti-corruption layers, and defining integration strategies
- Testing domain logic through unit, integration, and contract tests
Adopting DDD in Teams and Organizations
- Conducting domain discovery workshops and Event Storming sessions
- Developing and maintaining a ubiquitous language across teams
- Evaluating success and iterating on the domain model
Summary and Next Steps
Requirements
- Proficient programming experience with object-oriented languages
- Solid grasp of software architecture principles
- Knowledge of Agile development methodologies
Target Audience
- Senior developers
- Software architects
- Technical leads
Testimonials (1)
That we could you real life examples