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
Foundations of Domain-Driven Design
- Core principles and the rationale for adopting DDD
- The role of ubiquitous language and effective collaboration with domain experts
- Differentiating between core, supporting, and generic subdomains
Strategic Design and the Role of Bounded Contexts
- Establishing bounded contexts and defining their specific responsibilities
- Utilizing context maps and standard integration patterns
- Navigating team structures, organizational boundaries, and data ownership issues
Tactical Patterns — Core Components of the Domain Model
- Managing entities and their identity
- Leveraging value objects and the principle of immutability
- Defining aggregates and their transactional boundaries
Domain Services, Repositories, and Factory Patterns
- Determining when to apply domain services versus application services
- Implementing repository patterns and considering persistence strategies
- Using factory patterns to handle complex object instantiation
Modeling Complex Behaviors and Business Invariants
- Designing invariants to strictly enforce business rules
- Applying event-driven modeling and utilizing 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 strategies, anti-corruption layers, and integration techniques
- Testing domain logic through unit, integration, and contract tests
Implementing DDD in Teams and Organizational Structures
- Conducting domain discovery workshops and Event Storming sessions
- Establishing and maintaining a consistent ubiquitous language across teams
- Evaluating success metrics and iterating on the domain model
Conclusion and Path Forward
Requirements
- Proficient programming skills in object-oriented languages
- Solid grasp of software architecture principles
- Working knowledge of Agile development methodologies
Target Audience
- Senior developers
- Software architects
- Technical leads
21 Hours
Testimonials (1)
That we could you real life examples