Kurs i DDD, CQRS och event sourcing i .NET
Lär dig domain-driven design, CQRS och event sourcing genom att bygga en .NET-applikation steg för steg.
Vill du bygga applikationer som är lätta att ändra och håller i många år? Vill du ha en stabil arkitektur och design från början? Domain-driven design (DDD), CQRS och event sourcing är mönster och principer som hjälper dig dit.
Var och en löser sitt eget problem. DDD hjälper dig att modellera verksamheten, så att koden talar samma språk som de som använder den. CQRS skiljer läsning från skrivning, så att du kan utforma och skala varje sida för sig. Event sourcing sparar varje förändring som en händelse, så att du har hela historiken över vad som har hänt. Du kan använda var och en för sig, men de passar riktigt bra ihop.
Du behöver inte bygga ett helt DDD-, CQRS- eller event sourcing-system för att ha nytta av dem. Du går därifrån med idéer, mönster och principer som du kan använda i dina nuvarande projekt.
Kursen är praktisk. I C#-övningarna bygger du en applikation steg för steg med .NET 10 och Visual Studio 2026, och tillämpar varje del när vi går igenom den.
Det här lär du dig
Du lär dig bygga programvara som:
- Speglar din domän och verksamhet tydligare
- Är lättare att testa och validera
- Skalar lättare
- Anpassar sig bättre till förändring
- Är lättare att förstå
Vem är kursen för?
Erfarna C#-utvecklare som vill bli bättre på att utforma, strukturera och utveckla sina system. Bygger du komplexa applikationer som behöver skala, hantera förändring eller spegla verkliga affärsregler visar kursen hur du tillämpar DDD, CQRS och event sourcing i praktiken med .NET.
Förkunskaper
Minst ett års erfarenhet som C#-utvecklare och en god förståelse för C#, inklusive generics, lambdas och LINQ. Du behöver ingen erfarenhet av parallell eller asynkron programmering.
Varifrån kommer exemplen?
Många av kodexemplen bygger på cqrs.nu, en utbildningsresurs om CQRS och event sourcing som jag var med och skapade, tillsammans med C#-biblioteket Edument CQRS and Intentful Testing Starter Kit. Sajten har en tutorial och exempelkod som visar hur vi modellerar commands, events och aggregates, och den är grunden för de praktiska övningarna.
Agenda
Under kursen går vi igenom följande ämnen.
Arkitektur- och designprinciper
- Modern applikationsarkitektur
- Composition och modulär design
- Immutability och förebyggande av side effects
- Eventual consistency
- Micro front-ends och UI-komposition
- Avvägningar i arkitekturen
- Beprövade metoder från verkligheten
Domain-driven design (DDD)
- Grundläggande principer och mönster i DDD
- Entities, value objects och domain services
- Ubiquitous language
- Bounded contexts och context mapping
- Aggregates och konsistensgränser
- Invariants och att upprätthålla affärsregler
- Modellering av flöden och domänscenarier
CQS / CQRS
- Command Query Separation (CQS)
- Command and Query Responsibility Segregation (CQRS)
- Att skilja läsning från skrivning
- Utforma commands, queries och handlers
- Modellering av läs- och skrivsidan
- Mediator-mönstret
Events och event-driven architecture
- Commands, domain events och flöden
- Event Storming (helheten och processen)
- Event Modeling
- Decider-mönstret
- Policies och flöden
Event sourcing
- Grunderna i event sourcing
- Implementera en event store
- Event streams, snapshots och versionshantering
- Återskapa tillstånd från events
- Aggregates med event sourcing
Event sourcing i praktiken (med .NET)
- Querying och read models
- Utforma projections och read models
- Aggregate queries
- Read models med hög prestanda
- Query-mönster i CQRS-system
Testning
- Testdriven utveckling (TDD)
- Beteendedriven utveckling (BDD)
- Exempeldriven testning
- Testa aggregates med event sourcing
- Testa flöden, policies och read models
Om utbildaren
Jag heter Tore Nestenius. Jag undervisar på plats och på distans, både direkt åt företag och via utbildningsföretag i Europa. Lite om min bakgrund:
- Jag har utbildat utvecklare sedan 2010 och hållit flera hundra kurser och föredrag.
- Jag tar fram, underhåller och håller varje kurs själv, och förbättrar den efter varje tillfälle.
- Jag är Microsoft .NET MVP.
- Jag var med och grundade Edument, ett svenskt utbildnings- och konsultföretag, där jag var CTO, utvecklare och utbildare.
- Jag arbetar som senior .NET-konsult, så jag undervisar utifrån verkliga projekt.
- Jag har arbetat med .NET och C# sedan 2002.
- Jag har certifieringarna Azure AZ-204 och AZ-900.
- Jag var med och grundade användargruppen .NET Skåne.

DDD, CQRS och Event Sourcing i .NET
Längd
3 dagar eller 6 halvdagar
Nivå
Medel
Språk
Kursen hålls på svenska eller engelska.
Vanliga frågor om utbildning
Erbjuder du utbildning både på plats och på distans?
Ja, jag erbjuder båda.
Erbjuder du utbildning på både svenska och engelska?
Ja, båda går bra. Allt kursmaterial är på engelska, och jag kan hålla kursen på svenska eller engelska.
Håller du halvdagar?
På plats kör jag oftast hela dagar. På distans kan jag erbjuda både halva och hela dagar.
Håller du webbinarier och kortare föredrag?
Ja, se min sida om föredrag.
Kan du anpassa kurser?
Ja. Vill du veta mer? Boka ett förutsättningslöst möte.