
Applied Domain-Driven Design in .NET
What is Domain Driven Design (DDD) really about? How might Command Query Responsibility Segregation (CQRS) help us to build better software? Far from being esoteric concepts, they can be harnessed by everyday developers to create long-lasting, flexible solutions.
DDD and CQRS are gaining in popularity because they attack genuine challenges in software development. This course balances explaining important underlying theory with both design- and code-focused exercises, giving participants both understanding and new practical development skills.
Rather than teaching a framework, the course teaches a factoring and some ways to implement it, highlighting the key pitfalls to avoid along the way. During the course, a small application will gradually be built up from scratch. The course also includes coverage of testing, how to apply the insights from the course to existing systems and how to scale out a system developed using CQRS.
In the course we use the latest .NET 5 and C# 9.
What you will learn
Introduction to DDD
Value Objects
Aggregates
Invariants
Ubiquitous language
Bounded Contexts
Composition in the UI
Micro frontends
CQS and CQRS
Commands, Queries, Events
Event Storming
Event Modeling
Message busses / Mediators
Write site architecture
BDD Testing
Event Sourcing
Advanced aggregate design
The read side
Event distribution
Kafka
Event Versioning
DDD and legacy systems
Offline clients
Target audience
Developers and architects who want to learn more about applying Domain-Driven Design.
Prerequisites
Good knowledge of C# and basic knowledge of NUnit is an advantage but not essential.

Trainer Tore Nestenius
20 720 SEK
ONLINE
Duration: 3 days, or 6 half days
Level: Beginning
Language: English/Swedish
Course code: T201