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 foundational principles and drivers behind DDD
- Establishing a ubiquitous language and collaborating effectively with domain experts
- Differentiating between core, supporting, and generic subdomains
Strategic Design and Bounded Contexts
- Defining bounded contexts and delineating their specific responsibilities
- Creating context maps and identifying integration patterns
- Addressing team structures, organizational boundaries, and data ownership
Tactical Patterns — The Fundamental Building Blocks of Domain Models
- Managing entities and their identity
- Utilizing value objects and enforcing immutability
- Structuring aggregates and defining transaction boundaries
Domain Services, Repositories, and Factories
- Determining when to employ domain services versus application services
- Implementing repository patterns and considering persistence strategies
- Using factory patterns for the creation of complex objects
Modeling Complex Behaviors and Invariants
- Designing invariants and enforcing business rules
- Event-driven modeling and the use of domain events
- Consistency models, including eventual consistency and sagas
Integrating DDD with Architectural and Engineering Practices
- Aligning DDD with microservices and modular monolith architectures
- API design, anti-corruption layers, and integration strategies
- Testing domain logic through unit tests, integration tests, and contract tests
Adopting DDD in Teams and Organizations
- Facilitating domain discovery workshops and Event Storming sessions
- Building and maintaining a ubiquitous language across teams
- Evaluating success metrics and iterating on the domain model
Recap and Future Directions
Requirements
- Proficient programming experience with object-oriented languages
- A solid grasp of software architecture fundamentals
- Familiarity with Agile development methodologies
Target Audience
- Senior software developers
- Software architects
- Technical leads
21 Hours
Testimonials (1)
That we could you real life examples