Schulungsübersicht
Einführung in die moderne .NET-Plattform
- .NET 8-Laufzeit, SDK und Übersicht der einheitlichen Plattform
- Vergleich der Entwicklung von .NET Framework, .NET Core und .NET 8+
- Projektstruktur, Ziel-Frameworks und Grundlagen des Multi-Targeting
- Einrichtung der Entwicklungsumgebung und der Tooling
Moderne C# und zukunftsorientierte Sprachpraktiken
- Records, init-only Setter und Unveränderbarkeitsmuster
- Verbesserungen im Pattern Matching und Switch-Ausdrücke
- Nullobare Verweistypen und compilergestützte Sicherheit
- Best Practices für async/await und speichereffizientes Streaming
- Allgemeine Mathematik, statische Abstracts in Interfaces und leistungsoptimierte APIs
- Vorbereitung von Codebasen auf C# 12/13-Features unter .NET 8
Grundlagen von ASP.NET Core und Anwendungsstart
- Host Builder, Middleware-Pipeline und Anfragelebenszyklus
- Minimale APIs im Vergleich zu Controller-basierten APIs: Entscheidungskriterien
- Konfigurationsanbieter, umgebungsspezifische Einstellungen und Secrets-Verwaltung
- Statische Dateien, Routing und Endpoint-Konventionen
- Konfiguration des Dependency-Injection-Containers und Service-Lebensdauern
Design und Implementierung von REST-APIs
- REST-Reifegradmodell, Ressourcenmodellierung und URI-Design
- HTTP-Methoden, Statuscodes und Content Negotiation
- Anfragenvalidierung, Model-Binding und FluentValidation-Integration
- Versionierungsstrategien für öffentliche und interne APIs
- Dokumentation mit OpenAPI und Swagger UI
- Integrations_tests von APIs mit TestServer und WebApplicationFactory
Enterprise Dependency Injection und Inversion of Control
- Konstruktorinjektion, Service-Lebensdauern und eingefangene Abhängigkeiten
- Decorator- und Factory-Muster mit dem integrierten Container
- Scrutor und Integration von Drittanbieter-DI-Bibliotheken
- Modulare Dienstregistrierung und featuresbasierte Organisation
- Querschnittsbelange via Middleware und Filter
Logging, Konfiguration und zentrale Fehlerbehandlung
- Gestructuriertes Logging mit Microsoft.Extensions.Logging und Serilog
- Logstufen, Scopes, Anreicherung und Sink-Konfiguration
- Exception-Middleware und globale Fehlerbehandlungs-Pipelines
- ProblemDetails und RFC 7807-konforme Fehlerantworten
- Health Checks, Telemetrie und Observability-Hooks
- Korrelations-IDs und Vorbereitung auf Distributed Tracing
Softwarearchitektur für Enterprise-.NET-Lösungen
- Gliederungsprinzipien, Hexagonale Architektur und Clean Architecture
- Domain-Driven Design-Bausteine in .NET
- CQRS und Mediator-Muster mit MediatR
- Repository- und Unit-of-Work-Muster mit EF Core
- Vertikale Scheibenarchitektur für Feature-Kohäsion
- Bewertung von Kompromissen zwischen Monolith, modularer Monolith und Microservices.
Sicherheit für Webanwendungen und APIs
- Authentifizierungsschemata: JWT, OAuth2, OpenID Connect und Cookie-basierte Abläufe
- Autorisierungsrichtlinien, anspruchsbasierten Zugriff und ressourcenbasierte Guards
- HTTPS-Durchsetzung, HSTS und sichere Header-Middleware
- Eingangs-Sanitierung, Ausgans-Encoding und OWASP Top 10 Minimierung
- Rate Limiting, CORS-Richtlinien und Anti-Forgery-Token-Verwaltung
- Secrets-Verwaltung mit Azure Key Vault und umgebungsgetriebener Rotation.
Codequalität, Wartbarkeit und Best Practices
- Codierungsstandards, EditorConfig und dotnet format
- Statische Analyse mit Roslyn-Analysatoren und SonarQube-Integration
- Unit-Tests mit xUnit, Mocking mit Moq oder NSubstitute.
- Integrations- und Vertragstests in CI-Pipelines
- Refactoring-Techniken für langlebige Legacy-Module
- Dokumentation, API-Verträge und Praktiken des Wissensaustauschs.
Modernisierungsstrategie: Bewertung von legacy .NET Framework-Code
- Portfolioanalyse: Klassifizierung von Apps nach Kritikalität, Komplexität und Geschäftswert
- Nutzung des .NET Upgrade Assistants und Kompatibilitätsanalyzers
- Identifizierung veralteter APIs, plattformspezifischer Abhängigkeiten und Lücken bei Drittanbietern.
- Auf Windows-spezifische APIs und WCF-Migrationsüberlegungen.
- Erstellung einer Migrations-Roadmap mit risikobasierter Priorisierung.
Progressive Migration und Koexistenztechniken
- Strangler-Fig-Muster: inkrementeller Ersatz alter Subsysteme
- API-first-Migration: Offenlegen von .NET Framework-Domains über REST-Fassaden
- Nachrichtenbasiertes Bridging mit RabbitMQ, Azure Service Bus oder Kafka.
- Koexistenz geteilter Datenbanken und Strategien zur Schema-Versionierung.
- Gleichzeitiges Ausführen von .NET Framework und .NET 8 in derselben Infrastruktur.
- Containerisierung moderner Komponenten bei gleichzeitiger Beibehaltung des Legacy auf IIS.
Praktisches Migrationslabor und Review
- Anwendung des Upgrade Assistants auf ein repräsentatives Legacy-Projekt.
- Refactoring eines Web Forms- oder WCF-Dienstes in ASP.NET Core-APIs.
- Implementierung von DI, Logging und zentraler Fehlerbehandlung in der migrierten Lösung.
- Hinzufügen von Authentifizierung und Autorisierung zur neuen API-Oberfläche.
- Überprüfung der Koexistenz durch End-to-End-Integrationstests.
- Review, Fragen & Antworten und Anleitung zur Nachschulungs-Modernisierungsplanung.
Voraussetzungen
- Erfahrung in der C#-Programmierung und objektorientierten Designprinzipien
- Vertrautheit mit Webentwicklungskonzepten (HTTP, HTML, CSS, Grundlagen von JavaScript)
- Grundlegendes Verständnis von relationalen Datenbanken und SQL
- Vorerfahrung mit .NET Framework oder ASP.NET ist hilfreich, aber nicht erforderlich.
Zielgruppe
- .NET-Entwickler und Architekten, die darauf vorbereitet sind, legacy .NET Framework-Anwendungen zu modernisieren
- Softwareingenieure, die in Unternehmensrollen für die .NET-Entwicklung einsteigen
- Teknische Leiter, die für die Plattformmigration und Koexistenzplanung verantwortlich sind
- DevOps- und Infrastrukturmitarbeiter, die den Lebenszyklus von .NET-Anwendungen unterstützen.
Erfahrungsberichte (2)
Interaktivität und dynamische Code-Lösungen
Eduard-Emanuel Zaharia - Kruk Italia
Kurs - Advanced Blazor
Maschinelle Übersetzung
Möglichkeit, praktisch tätig zu werden, und Geduld des Trainers
sheena - Te Manawa Taki Trauma System
Kurs - Visual Studio 2022 IDE
Maschinelle Übersetzung