Schulungsübersicht
Von Sprachkenntnissen zur Lösungsgestaltung
- Fortgeschrittene C#-Funktionen und ihre Auswirkungen auf das Design.
- Wiederherstellung der Designintention aus vorhandenem Code.
Anforderungsanalyse und Domänenmodellierung
- Fallbeispiele, User Stories und Abnahmekriterien.
- Domänenmodelle und universelle Sprache.
Prinzipien der Softwaregestaltung
- Anwendung der SOLID-Prinzipien auf .NET-Lösungen.
- Kopplung, Kohäsion und Richtung der Abhängigkeiten.
Gestaltungsmuster für .NET-Anwendungen
- Auswahl von Erzeugungs-, Struktur- und Verhaltensmustern.
- Muster und Anti-Muster im vorhandenen Code.
Architekturstile und technische Entscheidungsfindung
- Vergleich von geschichteter, hexagonaler und sauberer Architektur.
- Aktivierungsprotokolle (ADR) und Trade-off-Analysen.
Planung der Lösungsstruktur
- Organisation von Lösungen und Projekten für grosse Codebasen.
- Modulares Monolithen gegenüber serviceorientierten Grenzen.
Modernes C# für wartbaren Code
- Mustererkennung, Records und Nullable Reference Types.
- Generics, LINQ und funktionale Komposition.
Fehlerbehandlung, Protokollierung und Beobachtbarkeit
- Strategie für Ausnahmen und Fehlerverträge.
- Strukturierte Protokollierung, Korrelation und Health-Checks.
Reflexion, Attribute und Metaprogrammierung
- Attributgesteuertes Design und Anwendungsfälle für Reflexion.
- Quellgeneratoren und Codegenerierung zur Kompilierzeit.
Grundlagen von ASP.NET Core
- Hosting-Modell, Dependency Injection und Konfiguration.
- Anfrage-Pipeline, Middleware und Filter.
Entwurf von REST-APIs
- Modellierung von Ressourcen und HTTP-Semantik.
- Versionierung, Validierung und Fehlerantworten.
- API-Verträge mit OpenAPI.
Sicherung von .NET-Anwendungen
- Authentifizierung und Autorisierung mit OpenID Connect.
- Policy-basierte Autorisierung und Geheimnisverwaltung.
Gefahrenanalyse und sichere Gestaltung
- STRIDE-Modellierung und Vertrauensgrenzen.
- Überprüfung der sicheren Gestaltung vor der Implementierung.
Datenzugriff mit Entity Framework Core
- Modellierung von Entitäten und Beziehungen.
- Lebenszyklus des DbContext und Migrationsstrategie.
Query-Performance und Datenarchitektur
- Ladestrategien und Probleme bei der Eager Loading.
- Transaktionen, Parallelisierungstokens und Umgehung von EF.
Parallelisierung und asynchrone Programmierung
- Tasks, TPL und Probleme mit async/await.
- Synchronisation, Abbruch und threadsichere Programmierung.
Performance-Optimierung
- Profilierung und Benchmarking mit BenchmarkDotNet.
- Speicher, Zuweisungen und Garbage Collection.
- Caching-Strategien und Lasttests.
Teststrategie über alle Ebenen hinweg
- Grenzen von Unit-, Integrations- und End-to-End-Tests.
- Testbare Architektur und Testdoppel.
Bereitstellung und Betriebsbereitschaft
- Container, Konfiguration und CI/CD-Pipelines.
- Produktivitätsdiagnostik und Release-Sicherheit.
Capstone: Design-Review und Implementierung
- Architektur-Review einer Beispielanwendung.
- Implementierung und Refactoring einer Funktionsscheibe.
Voraussetzungen
- Erfahrung in der Programmierung mit C#
- Gute Kenntnisse im objektorientierten Programmieren
- Basiskenntnisse in SQL und relationalen Datenbanken
Zielgruppe
- .NET-Entwickler
- Software-Engineer und technische Leads
- Entwickler, die in die Rolle der Anwendungsarchitektur wechseln möchten
Erfahrungsberichte (4)
Es war ein Einzelunterricht, daher wurde das Training auf meine spezifischen Bedürfnisse abgestimmt. Shane hat Elemente von WPF/C#, die für meine Entwicklungsprojekte potenziell von Vorteil sein könnten, hervorgehoben.
Warren Nolan - Northrop Grumman
Kurs - Programming in WPF
Maschinelle Übersetzung
Trainerwissen, Engagement und Verbindung
Adam Kuklewski - GE Medical Systems Polska
Kurs - Technical Architecture and Patterns
Maschinelle Übersetzung
Die Erklärungen und Interaktivität des Trainers waren ausgezeichnet; er hat das Thema wirklich gut vermittelt. Obwohl ich wahrscheinlich nicht erfahren genug war, habe ich dennoch sehr viel daraus gelernt!
Pieter Bruynseels - Spot Buy Center BV
Kurs - Design Patterns
Maschinelle Übersetzung
Nett und freundlich. Sehr wissbegierig. Ich würde Shane anderen weiterempfehlen.
Joshua - California State University Bakersfield
Kurs - Programming in C# with Visual Studio 2022
Maschinelle Übersetzung