Ta kontakt
 Varighet 35 timer

Kursplan

Fra språkferdigheter til løsningsdesign

  • Avanserte C#-funksjoner og deres designimplikasjoner.
  • Gjenopprettelses designintensjon fra eksisterende kode.

Kravanalyse og domenemodellering

  • Tilfeller, brukersaker og akseptkriterier.
  • Domenemodeller og allment språk.

Programvaredesignprinsipper

  • SOLID-prinsipper tilpasset .NET-løsninger.
  • Kopling, samlheng og avhengighetsretning.

Designmønstre for .NET-apper

  • Valg av genererende, strukturelle og oppførmingsmønstre.
  • Mønstre og antipatterns i eksisterende kode.

Arkitekturstiler og teknisk beslutningsfattelse

  • Sammenligning av lagdelt, seksagonal og ren arkitektur.
  • Aarkitekturbeslutningsregistre og avveiningsanalyse.

Planlegging av løsningsstruktur

  • Løsnings- og prosjektorganisasjon for store kodebasen.
  • Modular monolitt versus tjenesteorienterte grenser.

Moden C# for vedlikeholdbar kode

  • Mønstermatching, records og nullbare referansetyper.
  • Generics, LINQ og funksjonell sammensetning.

Unntakshåndtering, logging og observabilitet

  • Unntaksstrategi og feilkontrakter.
  • Strukturert logging, korrelasjon og helsekontroll.

Refleksjon, attributter og metaprogrammering

  • Attributtstyrt design og brukstilknytninger for refleksjon.
  • Kildedatagenerators og kodeskogen på kompilingstid.

Grunnleggende for ASP.NET Core

  • Vertsmodel, avhengighetsinjeksjon og konfigurasjon.
  • forespørselspiper, mellomvare og filtre.

Designing REST API-er

  • Resursmodellering og HTTP-semantikk.
  • Versjonering, validering og feilsvar.
  • API-kontrakter med OpenAPI.

Sikring av .NET-apper

  • Autentisering og autorisasjon med OpenID Connect.
  • Polisjonstyrt autorisasjon og hemmelighetsforvaltning.

Trusselmodellering og sikring

  • STRIDE-modellering og tillitgrenser.
  • Sikring av designgjenkjennelse før implementering.

Dataadgang med Entity Framework Core

  • Modellering av enheter og relasjoner.
  • DbContext-levetid og migrasjonsstrategi.

Ytelsesanalyse og dataarkitektur

  • Lastestrategier og unngåing av årlastefeil.
  • Transaksjoner, konkuranstoken og omgåelse av EF.

Konkurranse og asynkron programmering

  • Oppgaver, TPL og asynkron/ventefeil.
  • Synkronisering, avbrytelse og trådsikkerhet.

Ytelsesoptimalisering

  • Profiling og benchmarking med BenchmarkDotNet.
  • Hukommelse, tilordninger og søppelinnhenting.
  • Skjeringsstrategier og lasttesting.

Teststrategi tvers over lag

  • Grenser for enhet, integrasjon og ende-til-ende testing.
  • Testbar arkitektur og testdobbler.

Deployement og operasjonell klarhet

  • Beholdere, konfigurasjon og CI/CD-piper.
  • Produksjonsdiagnostikk og utgivelsessikkerhet.

Kapstone: Designgjennomgang og implementering

  • Arkitektur-gjennomgang av en tilfelleapplikasjon.
  • Implementering og refaktorering av en funksjonsslice.

Krav

  • Erfaring med programmering i C#
  • Arbeidskunnskap i objektorientert programmering
  • Grunnleggende kjennskap til SQL og relasjonsdatabaser

Målgruppe

  • .NET-utviklere
  • Programvareingeniører og tekniske ledere
  • Utviklere som går over til rollen som applikasjonsdesignere

Antall deltakere


Pris per deltaker

Referanser (4)

Kommende kurs

Relaterte kategorier