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
Fundamentals of Domain-Driven Design
- Key principles and the rationale behind adopting DDD
- Establishing a ubiquitous language and collaborating effectively with domain experts
- Differentiating between core, supporting, and generic subdomains
Strategic Design and Bounded Contexts
- Defining the scope and responsibilities of bounded contexts
- Mapping contexts and implementing integration patterns
- Navigating team structures, organizational boundaries, and data ownership
Tactical Patterns: The Building Blocks of Domain Models
- Entities and managing identity within the domain
- Value objects and the benefits of immutability
- Aggregates and defining transaction boundaries
Domain Services, Repositories, and Factory Patterns
- Determining when to use domain services versus application services
- Applying repository patterns with persistence in mind
- Using factory patterns for the creation of complex objects
Modeling Complex Behaviors and Business Invariants
- Designing invariants to enforce critical business rules
- Implementing event-driven modeling and domain events
- Understanding consistency models, including eventual consistency and sagas
Aligning DDD with Architectural and Engineering Standards
- Harmonizing DDD with microservices and modular monolith architectures
- API design, anti-corruption layers, and system integration strategies
- Testing domain logic through unit, integration, and contract tests
Implementing DDD Across Teams and Organizations
- Facilitating domain discovery workshops and Event Storming sessions
- Building and maintaining a consistent ubiquitous language across teams
- Measuring outcomes and iterating on the domain model for continuous improvement
Course Summary and Recommended Next Steps
Requirements
- Proficiency in object-oriented programming languages
- Solid grasp of software architecture fundamentals
- Experience with Agile development methodologies
Intended Audience
- Senior Software Engineers
- Software Architects
- Engineering Leads and Technical Managers
21 Hours
Testimonials (1)
That we could you real life examples