Neem contact met ons op

Cursusaanbod

Inleiding tot het moderne .NET-platform

  • .NET 8-runtime, SDK en een overzicht van de geïntegreerde platformmogelijkheden
  • Vergelijking tussen .NET Framework, .NET Core en de evolutie naar .NET 8+
  • Basisprincipes rond projectopbouw, doelgerichte frameworks en multi-targeting
  • Het opzetten van een ontwikkelomgeving inclusief relevante tools

Moderne C#-technieken en toekomstbestendige taalpraktijken

  • Gebruik van records, init-only setters en immuteerbare structuren
  • Uitgebreide pattern matching-technieken en switch-expressies
  • Nullable reference types ter voorkoming van fouten via slimme compilercontrole
  • Beste manieren om asynchrone operaties te beheren en geheugengebruik te optimaliseren
  • Generieke wiskunde, statische abstracts in interfaces en prestatief gerichte API’s
  • Voorbereiden op C# 12/13-functies die binnen .NET 8 beschikbaar komen

Grondslagen van ASP.NET Core en het opstarten van applicaties

  • Host builder, middleware-pijplijn en de algehele aanvraagverwerking
  • Onderscheid tussen Minimal APIs en controller-gebaseerde API’s: wanneer welke te gebruiken
  • Instellingen beheren via verschillende configuratieproviders, inclusief gegevens per omgeving en secretbeheer
  • Behandeling van statische bestanden, routing en endpoint-configuraties
  • Dependency injection: containerinstellingen en duur van servicegebruik bepalen

Ontwerp en implementatie van REST-API’s

  • Methode voor het vaststellen van REST-volwassenheid, modellering van resources en ontwerp van URI’s
  • Juist gebruik van HTTP-methoden, statuscodes en content negotiation
  • Validatie van aanvragen, modelbinding en integratie met FluentValidation
  • Mogelijkheden voor API-versiebeheer: zowel openbare als interne versies
  • Dokumentatie realiseren via OpenAPI en Swagger UI
  • API-testing uitvoeren met TestServer en WebApplicationFactory

Enterprise-grade dependency injection en inversie van controle

  • Constructor-injectie, serviceduurregels en het voorkomen van verborgen afhankelijkheden
  • Toepassing van decorator- en factory-patronen binnen de inbouwcontainer
  • Gebruik van Scrutor of andere third-party DI-bibliotheken naast de standaardoplossing
  • Logische segmentering bij serviceregistratie: per functiegroep en functionaliteit
  • Implementatie van algemene aandachtspunten via middleware- en filterlagen

Logging, configuratie en centraal beheerde foutafhandeling

  • Struktureel loggingbeheer via Microsoft.Extensions.Logging en Serilog
  • Logniveau's instellen, scope-aanpassingen en uitgebreide logregistratie configureren
  • Centrale exception-handling en beleid voor foutafhandeling in de gehele applicatie
  • Overeenkomst met RFC 7807: standaardformaat voor errorberichten via ProblemDetails
  • Zorgen voor gezondheidschecks, telemetrie en observability van systemen
  • Inrichten van correlaterende IDs ter ondersteuning van distributed tracing

Softwarearchitectuur bij enterprise .NET-oplossingen

  • Verschillende architectuuropties: lagenmodel, hexagonal en clean architecture
  • Bouwstenen voor domain-driven design in de context van .NET
  • CQRS-principes en het gebruik van MediatR voor mediatorpatronen
  • Repository- en unit-of-work-patronen samen met Entity Framework Core
  • Gebruik van vertical slice architecture om cohesieve features te realiseren
  • Het evalueren van alternatieven zoals monolithische vs modulaire opzet of microservices aanpak

Beveiliging voor webapplicaties en API’s

  • Mogelijke authenticatiemethoden: JWT, OAuth2, OpenID Connect en cookie-gebaseerde beheerstappen
  • Autorisatieregels opstellen, claims-toepassing en regelgeving per resource-element
  • Veiligheid optimaliseren via HTTPS-afdwinging, HSTS-registraties en veilige headerinstellingen
  • Invoervalidering, outputcodering en aanpak van veelvoorkomende dreigingen uit de OWASP Top 10-lijst
  • Limieten voor verzoekfrequentie, restricties op CORS toegang en technieken ter voorkoming van cross-site request forgery
  • Geheime sleutels veilig bewaren via Azure Key Vault en dynamische wisselingsmechanismen

Codekwaliteit, onderhoudbaarheid en best practices

  • Het volgen van vastgestelde codingstandaarden en gebruik van EditorConfig plus dotnet format tools
  • Statische analyse uitvoeren via Roslyn-analyzers en integratie met SonarQube voor kwaliteitsbewaking
  • Eenhedig testen bewerkstelligen met xUnit, samen met mock-oplossingen zoals Moq of NSubstitute
  • Integratietesting en contracttesting implementeren binnen continue integratie-pipelines
  • Praktische refactoringtechnieken toepassen bij oudere, langdurig gebruikte softwaremodules
  • Effectieve documentatie maken en best practices voor kennisoverdracht implementeren

Migratiestrategie: evaluatie van bestaande .NET Framework-applicaties

  • Basisanalyse: bepalen hoe belangrijk, complex en waardevol een applicatie is voor het bedrijf
  • Het gebruik van de .NET Upgrade Assistant samen met compatibiliteitsscanners voor praktische ondersteuning
  • Specifieke aandachtspunten zoals verouderde API’s, platformgebonden afhankelijkheden en derden-softwareverwachtingen identificeren
  • Risicobeheer voor Windows-specifieke technologieën en eventuele overgang van WCF-services naar nieuwe formaten
  • Realistische migratieroadmaps opstellen met een gebaseerd prioritering plan naar risico’s

Technieken voor geleidelijke migratie en samenwerking tussen systemen

  • Toepassing van de ‘Strangler Fig’-benadering: stap-voor-stap vervangen van oude subsystemen
  • Eerst focussen op API-ontwikkeling: oude .NET Framework-gebieden via REST-facades koppelen aan nieuwe systemen
  • Communicatie tussen verscheidene componenten realiseren met messaging-technieken zoals RabbitMQ, Azure Service Bus of Kafka
  • Het delen van databases en het beheren van verschillende schemaversies op een flexibele wijze
  • Hetzelfde IT-infrastructuurplatform gebruiken om zowel .NET Framework als .NET 8-applicaties naast elkaar te laten draaien
  • Moderne applicatieonderdelen in containers plaatsen terwijl bestaande legacy-systemen nog op IIS gebaseerd blijven

Praktische migratielabs en eindevaluatie

  • Upgrade Assistant testen bij een representatief voorbeeld van een oude applicatieproject
  • Een Web Forms- of WCF-service opnieuw vormgeven naar ASP.NET Core-API’s
  • Dependency injection, logging en gecentraliseerde foutafhandeling toevoegen aan het vernieuwde systeem
  • Toegankelijkheid van data beveiligen door juiste authenticatie- en autorisatiemaatregelen toe te voegen
  • End-to-end integratietests uitvoeren om functionele compatibiliteit tussen nieuw en oud systeem te valideren
  • Afsluitende vraag-en-antwoordronde, evaluatie van het geleerde en aanbevelingen voor verdere migratieplanning

Vereisten

  • Ervaring met C#-programmeren en de beginselen van objectgeoriënteerd ontwerpen
  • Bekendheid met basisconcepten uit webontwikkeling (HTTP, HTML, CSS, JavaScript)
  • Grondige kennis van relationele databases en SQL is vereist
  • Eerdere ervaring met .NET Framework of ASP.NET is handig maar niet verplicht

Doelgroep

  • .NET-ontwikkelaars en -architecten die oude .NET Framework-applicaties willen moderniseren
  • Softwareengineers die zich specialiseren in enterprise .NET-ontwikkeling
  • Tech-leiders verantwoordelijk voor platformmigratie en strategische samenwerking tussen systemen
  • DevOps- en infrastructuurspecialisten die betrokken zijn bij het levenscyclusbeheer van .NET-applicaties
 21 Uren

Aantal deelnemers


Prijs per deelnemer

Getuigenissen (2)

Voorlopige Aankomende Cursussen

Gerelateerde categorieën