Kursplan
Innføring i den moderne .NET-plattformen
- .NET 8-tidsdrevet, SDK og forenklet plattformoversikt
- Sammenligning av .NET Framework, .NET Core og .NET 8+ utvikling
- Prosjektstruktur, målrammer og grunnleggende multimaling
- Oppsett av utviklingsmiljø og verktøy
Moderne C# og fremtidsorienterte språkpraksiser
- Records, init-only setters og immutabilitetsmønstre
- Forbedringer i mønstermatching og switch-uttrykk
- Nydelige referansetyper og kompilator-drevet sikkerhet
- Beste praksis for async/await og minneeffektiv streaming
- Generisk matematikk, statiske abstrakter i grensesnitt og ytelsesorienterte APIer
- Føre kodebasene klar for C# 12/13-funksjoner på .NET 8
ASP.NET Core grunnleggende og applikasjon-bootstrap
- Host-bokser, mellomvare-pipeline og forespørselslivssyklus
- Minimal APIer vs kontroller-baserte APIer: beslutningskriterier
- Konfigurasjonsleverandører, miljøspesifikke innstillinger og hemmelighetsstyring
- Statiske filer, routing og endeponeringskonvensjoner
- Konfigurering av avhengighetsinjeksjonsbeholder og tjenstelivssykluser
Design og implementering av REST-APIer
- REST-modellen for modenhet, ressursmodellering og URI-design
- HTTP-metoder, statuskoder og innholdsforhandling
- Forespørselvalidering, modellbinding og FluentValidation-integrasjon
- Versionsstrategier for offentlige og interne APIer
- Dokumentasjon med OpenAPI og Swagger UI
- Integrasjonstesting av APIer med TestServer og WebApplicationFactory
Bedriftsgrads avhengighetsinjeksjon og invertering av kontroll
- Konstruktør-injeksjon, tjenstelivssykluser og fangede avhengigheter
- Decorator- og fabrikk-mønstre med innebygd beholder
- Scrutor og tredjeparts DI-bibliotekintegrasjon
- Modulær tjenesteregistrering og funksjonsbasert organisering
- Kryss-oversikt bekymringer via mellomvare og filtre
Logging, konfigurasjon og sentralisert feilhåndtering
- Strukturert logging med Microsoft.Extensions.Logging og Serilog
- Loggnivåer, områder, forsterkning og sink-konfigurering
- Unntaksmellomvare og global feilhåndteringspipeline
- ProblemDetails og RFC 7807-tilsvarende feilrespons
- Health checks, telemetri og observerbarhetskroker
- Korrelasjons-IDer og forberedelse av distribuert tracing
Programvarearkitektur for bedrifts .NET-løsninger
- Lagde, hexagonale og rene arkitekturprinsipper
- Domenedrevet design byggesteiner i .NET
- CQRS og mediator-mønstre med MediatR
- Repository- og enhet-av-arbeid mønstre med EF Core
- Vertikal skivearkitektur for funksjonskohesjon
- Vurdering av monolit, modulær monolit og mikrotjenester kompromisser
Sikkerhet for webapplikasjoner og APIer
- Autentiseringsskjemaer: JWT, OAuth2, OpenID Connect og cookie-baserte flyter
- Autorisasjonsretningslinjer, påstandsbasert tilgang og ressursbaserte vakter
- HTTPS-pålegging, HSTS og sikre hode-mellomvare
- Inndata-sanitization, utdata-kodning og OWASP Top 10-redusering
- Hastighetsbegrensning, CORS-politikker og anti-forgery token-håndtering
- Hemmelighetsstyring med Azure Key Vault og miljø-drevet rotasjon
Kodekvalitet, vedlikeholdbarhet og beste praksis
- Kodingsstandarder, EditorConfig og dotnet format
- Statisk analyse med Roslyn-analyzere og SonarQube-integrasjon
- Enhetstesting med xUnit, mocking med Moq eller NSubstitute
- Integrasjons- og kontraktttesting i CI-pipeliner
- Refaktoreringsteknikker for langlevde gamle moduler
- Dokumentasjon, API-kontrakter og kunnskapsdeling-praksiser
Moderniseringsstrategi: Vurdering av gammel .NET Framework-kode
- Potefølieanalyse: klassifiser applikasjoner etter kritikalitet, kompleksitet og forretningsverdi
- Bruk av .NET Upgrade Assistant og kompatibilitetsanalysator
- Identifisering av utgåtte APIer, plattformspesifikke avhengigheter og tredjepartsgap
- Windows-spesifikke APIer og WCF-migreringsoverveielser
- Lage en migreringskjøreplan med risiko-basert prioritering
Progressiv migrering og samexistens-teknikker
- Strangler Fig mønster: inkrementelt erstatte gamle subsystemer
- API-først migrering: eksponere .NET Framework-domener via REST-facader
- Meldingsbasert brobygging med RabbitMQ, Azure Service Bus eller Kafka
- Delt database samexistens og skjema-versjoneringsstrategier
- Drift av .NET Framework og .NET 8 side-ved-siden i samme infrastruktur
- Kontainerisering av moderne komponenter mens gammel beholdes på IIS
Hånd-verk migreringslaboratorium og gjennomgang
- Anvende Upgrade Assistant til en representativ gammel prosjekt
- Refaktorere en Web Forms eller WCF-tjeneste inn i ASP.NET Core APIer
- Implementere DI, logging og sentralisert feilhåndtering i den migrerte løsningen
- Tilføye autentisering og autorisasjon til det nye API-området
- Bekrefte samexistens gjennom ende-til-ende integrasjonstesting
- Gjennomgang, spørsmål & svar og veiledning etter opplæring for moderniseringsplanlegging
Krav
- Erfaring med C#-programmering og objektorienterte designprinsipper
- Kunnskap om webutviklingskonsepter (HTTP, HTML, CSS, grunnleggende JavaScript)
- Grunnleggende forståelse av relasjonsdatabaser og SQL
- Tidligere eksponering med .NET Framework eller ASP.NET er nyttig, men ikke påkrevd
Målgruppe
- .NET-utviklere og arkitekter som forbereder seg på å modernisere eldre .NET Framework-applikasjoner
- Programvareingeniører som beveger seg inn i bedrifts .NET-utviklingsroller
- Tekniske ledere ansvarlige for plattformmigrering og samexistensplanlegging
- DevOps og infrastruktur-personell som støtter .NET-applikasjonssyklusen
Referanser (2)
Interaktivitet og løsningskoder på farten
Eduard-Emanuel Zaharia - Kruk Italia
Kurs - Advanced Blazor
Maskinoversatt
mulighet for praktisk arbeid og trenerens tålmodighet
sheena - Te Manawa Taki Trauma System
Kurs - Visual Studio 2022 IDE
Maskinoversatt