Visa utbildning.se som: Mobil

Har covid-19 påverkat dina planer på att läsa en utbildning? Svara på vår korta undersökning och hjälp oss att hjälpa dig!

Applied Domain-Driven Design i .NET

Edument
Kort om utbildningen
3 dagar
25 900 SEK exkl. moms 20 720 SEK exkl. moms
Nästa tillfälle: 2021-05-17 09:00 - Distans
Onlineutbildning
   
Distans

Kursbeskrivning

Applied Domain-Driven Design i .NET


Kursen lär ut ett direkt, praktiskt sätt att närma sig arkitektur inom affärslivet. Fokus ligger på att producera affärsmjukvara som är mer användbar, testbar, och lättare att förvalta och förstå än konventionella sätt att bygga applikationer.


Med hjälp av Domän-Driven Design (DDD) och Command/Query Responsibility Segregation (CQRS) ser vi hur vi kan applicera moderna lärdomar på vår design, för att kunna bygga mer hållbara, skalbara, och testbara system till lägre totalkostnad.


Istället för att lära ut ett ramverk lär kursen ut en modern arkitektur, ett antal möjliga implementationer, och understryker de vanliga fallgroparna man kan undvika på vägen.


Det här är en praktisk kurs, och vi håller oss nära programkoden hela vägen. Under kursen bygger vi successivt upp en mindre applikation från grunden. Kursen täcker även testning, hur man applicerar nyckelinsikterna från kursen på existerande system, och hur man skalar ut ett system byggt med CQRS.


Målgrupp

Utvecklare och arkitekter som vill lära sig mer om att applicera Domän-Driven Design. 

Förkunskaper

God kännedom om C# och grundläggande kunskaper i NUnit är en fördel, dock ej nödvändiga. 



Kursinnehåll

Utmaningen med "databasdriven" mjukvaruutveckling

  • Olika sorters komplexitet
  • Skalbarhet och konsistens
  • Testning
  • Integration

Introduktion till Domän-Driven Design

  • Domäner och domänmodeller
  • "Ubiquitous Language", ett gemensamt språk
  • Övning i att bygga en domänmodell

Kontexter

  • Varför avgränsningar är viktiga
  • Kontextkartor
  • Att hålla isär koncept i domänen
  • Att mixa ihop koncept i gränssnittet
  • Övningar på gränsletande

Kommandon, frågor och events

  • Normalisering och denormalisering
  • Skrivmodeller och läsmodeller
  • Events som länk mellan skrivsida och lässida
  • Eventuell konsistens och vad det innebär
  • Design av kommandon
  • Design av frågor
  • Övning i design av kommandon och frågor

Meddelandebussar

  • Meddelanden som frikoppling
  • Publish/Subscribe
  • Att "sända" vs att "publicera"
  • Bygga en enkel meddelandebuss
  • Övning i implementation av en meddelandebuss

Skrivsidearkitektur

  • Kommandohanterare
  • "State sourcing" gentemot "event sourcing"
  • Introduktion till aggregat
  • Att bygga upp aggregat från tidigare events
  • Transaktionssäkerhet
  • Övning i kommandohanterare och aggregat

BDD-testning

  • Introduktion till BDD
  • Kommandon, events och BDD
  • Att bygga ett enkelt testramverk
  • Övning i BDD

Eventdatabaser

  • Existerande alternativ
  • Att bygga en eventdatabas ovanpå en relationsdatabas
  • Att implementera ett repository med hjälp av en eventdatabas
  • FÖrdelar med att befria aggregatens representation från persistens
  • Optimeringar med hjälp av snapshots
  • Övning i att bygga en eventdatabas

Avancerad aggregatdesign

  • Att hitta aggregatgränser
  • Att hantera relationer
  • Övning i aggregatdesign

Att bygga lässidor

  • Övergripande angreppssätt
  • Relationella databaser som lässida
  • NoSQL-lässidor
  • Andra alternativ
  • Att rekonstruera och bygga upp nya lässidor
  • Övning i att bygga lässidor

Processhanterare

  • Vad är en processhanterare? Vad är en saga?
  • Olika typer av processhanterare
  • Att hantera processhanterarens tillstånd
  • Att bygga ett enkelt ramverk för processhanterare
  • Övning i processhanterare

Att utveckla ett system

  • Att förfina domänmodeller
  • Att hantera kommandon som evolverar
  • Versionshantering av events
  • Hantering av uppgradering av events
  • Övning i event-uppgradering

CQRS, DDD och existerande kodbaser

  • Att introducera kontexter i ett existerande system
  • Separering av kommandon och frågor
  • Att migrera mot event sourcing

Att skala ut

  • Man kan dra nytta av läs/skriv-separationen för att skala
  • Att skala skrivsidor enligt kontext och enligt aggregat
  • Att skala inom ett aggregat
  • Distribuering av meddelanden och tillförlitlighet
  • Köer och "enterprise service busses"

Andra möjligheter

  • Parallell utveckling och outsourcing
  • Att återskapa tidigare tillstånd för debugging

Upplägg

DISTANSKURS

Genom att gå kursen online och delta i vårt digitala klassrum kan du se och höra läraren och de andra deltagarna i realtid. Du har möjlighet att ställa frågor, föra diskussioner, tillgång till kursmaterial och få feedback på övningar. 

När kursen körs på distans använder vi oss av verktyget Zoom. Schemat för kursdagen följer hur dagarna i klassrummet är upplagda. Under förmiddagen håller kursen på 09.00-12.00 med mikropauser för att sträcka på benen eller fylla på kaffet. Därefter återupptas undervisningen klockan 13.00 och håller på till 17.00, även då med pauser. 

"Bra upplägg och lätt att följa med, bra verktyg användes för att zooma in och understryka så man hela tiden var med. Bra upplägg att läraren gick igenom avsnittet först och att man sedan fick göra själv."

- Kursdeltagare som deltagit på distans

----------------------------------------------------------------------------------------------------------------------

I KLASSRUM

Varje kurstillfälle är individuellt, men nedan är ett exempel-schema på hur kursdagarna hos Edument brukar se ut. Utöver lunch och fika är det småpauser under dagen. 

08:30 Frukost
09:00 Kursstart
12:00 Lunch
14:30 Fika
17:00 Kursdagen avslutas

Våra kurslokaler ligger centralt i Stockholm, Göteborg och Malmö. Du får mer information kring exakta tider och plats när kurstillfället närmar sig. 

Måltiderna som presenteras i exempel-schemat är inkluderade i kurspriset. Om du har särskilda allergier och/eller matpreferenser har du självklart möjlighet att meddela oss dessa innan kursstart. 

Kursledare

Tore Nestenius

Hos Edument arbetar jag med att utbilda utvecklare och delar gärna med mig av mina erfarenheter. Jag brukar även coacha utvecklingsteam i arkitekturfrågor och säkerhet.

Jag är nyfiken på nya tekniker och lever efter mottot ”Man kan inget förrän man kan förklara det för andra”.

Intresseanmälan

Fyll i formuläret för att få mer information om Applied Domain-Driven Design i .NET, direkt från arrangören. Det är gratis och inte bindande!

Recensioner

Snittbetyg: 4,2

Baseras på 47 recensioner.

Kursdeltagare
(5)
Väldigt bra förklaringar. Väldigt sällan man inte förstår
Kursdeltagare
(5)
5 av 5
Kursdeltagare
(5)
5 av 5

Edument

Edument


Varmt välkommen till Edument!

Vi hjälper företag och startups med komplexa mjukvaruprojekt och tar fram morgondagens kurser inom mjukvaruutveckling. Vad kan vi hjälpa dig med?Edument AB grundades 2010 i Helsingborg av Acke Salem och Tore Nestenius. De möttes för första gången på en konferens där...


Läs mer om Edument och visa alla utbildningar.

Kontaktuppgifter

Edument

Kullagatan 21
252 20

 Visa telefonnummer

Intresseanmälan

För att få mer information om utbildningen Applied Domain-Driven Design i .NET från Edument, fyll i dina uppgifter:

Recensioner
Kursrecensioner
(4,2)
Baseras på 47 recensioner.
Läs recensioner
Arrangörsrecensioner
(4,1)
Baseras på 1329 recensioner.
Alla recensioner för arrangören

Liknande utbildningar