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 compared to 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 using 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 the 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
- Issues with traditional data platforms
- Introduction to data mesh
- Implementing a domain-oriented data platform that supports data discovery, access, and governance
- Technologies like Apache Kafka, Apache Spark, and GraphQL in data mesh
Summary and Next Steps
Requirements
- A solid understanding of object-oriented programming and design patterns
- Experience with C# and .NET Core
- Foundational knowledge of databases and SQL
Audience
- Developers
- Architects
- Analysts
21 Hours
Testimonials (1)
That we could you real life examples