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.
- Establishing ubiquitous language through effective collaboration with domain experts.
- Differentiating between core, supporting, and generic subdomains.
Strategic Design and Managing Bounded Contexts
- Defining bounded contexts and delineating their specific responsibilities.
- Mapping contexts and selecting appropriate integration patterns.
- Addressing team structures, organizational boundaries, and data ownership models.
Tactical Patterns — The Structural Elements of Domain Models
- Entities and the management of identity.
- Value objects and the principle of immutability.
- Aggregates and defining transactional boundaries.
Domain Services, Repositories, and Factory Patterns
- Distinguishing when to apply domain services versus application services.
- Implementing repository patterns and considering persistence strategies.
- Utilizing factory patterns for complex object instantiation.
Modeling Complex Behaviors and Enforcing Invariants
- Designing invariants to strictly enforce business rules.
- Event-driven modeling techniques and the use of domain events.
- Consistency models, including eventual consistency and saga patterns.
Aligning DDD with Architectural and Engineering Standards
- Harmonizing DDD with microservices and modular monolith architectures.
- API design, anti-corruption layers, and strategic integration approaches.
- Testing domain logic through unit, integration, and contract testing.
Organizational Adoption of DDD
- Facilitating domain discovery workshops and Event Storming sessions.
- Cultivating and maintaining a shared ubiquitous language across teams.
- Assessing success metrics and iterating on the domain model.
Wrap-up and Future Roadmap
Requirements
- Proficient experience with object-oriented programming languages.
- A solid grasp of fundamental 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