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
- Core principles and the rationale behind DDD
- Establishing a ubiquitous language and collaborating with domain experts
- Differentiating between core, supporting, and generic subdomains
Strategic Design and Bounded Contexts
- Defining bounded contexts and delineating their specific responsibilities
- Developing context maps and applying integration patterns
- Navigating team structures, organizational boundaries, and data ownership
Tactical Patterns — The Building Blocks of the Domain Model
- Entities and managing identity
- Value objects and the principle of immutability
- Aggregates and defining transaction boundaries
Domain Services, Repositories, and Factories
- Determining when to use domain services versus application services
- Repository patterns and key persistence considerations
- Factory patterns for handling complex object creation
Modeling Complex Behavior and Invariants
- Designing invariants and enforcing critical business rules
- Event-driven modeling and utilizing domain events
- Consistency models: implementing eventual consistency and sagas
Integrating DDD with Architectural and Engineering Practices
- Aligning DDD with microservices and modular monoliths
- API design, implementing anti-corruption layers, and integration strategies
- Testing domain logic: unit tests, integration tests, and contract tests
Adopting DDD in Teams and Organizations
- Facilitating domain discovery workshops and Event Storming sessions
- Establishing and maintaining a ubiquitous language across teams
- Evaluating success metrics and iterating on the domain model
Conclusion and Recommendations for Future Steps
Requirements
- Proficient programming experience in object-oriented languages
- Solid grasp of software architecture principles
- Knowledge of Agile development methodologies
Intended Audience
- Senior developers
- Software architects
- Technical leads
21 Hours
Testimonials (1)
That we could you real life examples