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
- What is Domain Driven Design (DDD) and its benefits?
- DDD vs other approaches
- Overview of DDD concepts and project structure
Tactical Domain-Driven Design
- Elements of a domain model
- Implementing entities, value objects, aggregates, repositories, and domain services
- Using factories, specifications, CQRS, and event sourcing
Strategic Domain-Driven Design
- Context map patterns
- Designing the domain model with event storming and domain storytelling
- Identifying and classifying subdomains
- Establishing boundaries and relationships with patterns like bounded contexts
DDD & Legacy Workshop
- Challenges and opportunities of legacy systems
- Analyzing and understanding legacy systems with tools like NDepend
- Refactoring and modernizing legacy systems using techniques such as strangler pattern
Product, Domain & Team-oriented Architecture
- Benefits and challenges of product, domain, and team-oriented architecture
- Designing and implementing such architectures with patterns like microservices
- Organizing and collaborating with teams
- Ensuring quality and consistency with automated testing and continuous integration
Data Mesh – Domain-Oriented Data
- Problems with traditional data platforms
- Introduction to data mesh
- Implementing a domain-oriented data platform supporting data discovery, access, and governance
- Technologies like Apache Kafka, Apache Spark, and GraphQL in data mesh
Summary and Next Steps
Requirements
- An understanding of object-oriented programming and design patterns
- Experience with C# and .NET Core
- Basic knowledge of databases and SQL
Audience
- Developers
- Architects
- Analysts
21 Hours
Testimonials (1)
I really enjoyed the real examples and exercises.