Schulungsübersicht
Von Sprachkenntnissen zu Lösungsdesign
- Fortgeschrittene C#-Funktionen und ihre Auswirkungen auf das Design.
- Rekonstruktion der Designintention aus vorhandenem Code.
Anforderungsanalyse und Domänenmodellierung
- Use Cases, User Stories und Akzeptanzkriterien.
- Domänenmodelle und universelle Sprache (Ubiquitous Language).
Gestaltungsprinzipien der Software
- Anwendung der SOLID-Prinzipien in .NET-Lösungen.
- Kopplung, Kohäsion und Abhängigkeitsrichtung.
Designmuster für .NET-Anwendungen
- Wahl von kreatorischen, strukturellen und verhaltensbezogenen Mustern.
- Muster und Anti-Muster im bestehenden Code.
Architekturstile und technische Entscheidungsfindung
- Vergleich von Schichtarchitektur, Hexagonaler Architektur und Clean Architecture.
- Akteneinträge zu Architekturentscheidungen (ADR) und Trade-off-Analyse.
Planung der Lösungsstruktur
- Organisation von Solutions und Projekten für große Codebasen.
- Modulares Monolithen-Modell versus dienstorientierte Grenzen.
Modernes C# für wartbaren Code
- Pattern Matching, Records und nullable Referenztypen.
- Generics, LINQ und funktionale Komposition.
Fehlerbehandlung, Logging und Beobachtbarkeit (Observability)
- Fehlerstrategie und Fehlerverträge.
- Strukturiertes Logging, Korrelation und Health Checks.
Reflexion, Attribute und Metaprogrammierung
- Attributgesteuertes Design und Anwendungsfälle für Reflexion.
- Quellgeneratoren (Source Generators) und Codegenerierung zur Kompilierzeit.
Grundlagen von ASP.NET Core
- Hosting-Modell, Dependency Injection und Konfiguration.
- Anfrageschleife (Request Pipeline), Middleware und Filter.
Design von REST-APIs
- Ressourcenmodellierung und HTTP-Semantik.
- Versionierung, Validierung und Fehlerantworten.
- API-Verträge mit OpenAPI.
Absicherung von .NET-Anwendungen
- Authentifizierung und Autorisierung mit OpenID Connect.
- Policy-basierte Autorisierung und Verwaltung von Secrets.
Gefahrenmodellierung und sicheres Design
- STRIDE-Modellierung und Vertrauensgrenzen (Trust Boundaries).
- Prüfung des sicheren Designs vor der Implementierung.
Datenzugriff mit Entity Framework Core
- Modellierung von Entitäten und Beziehungen.
- Lebensdauer des DbContext und Migrationsstrategie.
Abfrageleistung und Datenarchitektur
- Ladestrategien und Fallstricke beim Eager Loading.
- Transaktionen, Concurrency Tokens und Umgehung von EF, wo nötig.
Parallelität und asynchrone Programmierung
- Tasks, die TPL (Task Parallel Library) und Fallstricke von async/await.
- Synchronisation, Abbruch und Thread-Sicherheit.
Leistungsoptimierung
- Profiling und Benchmarking mit BenchmarkDotNet.
- Speicher, Allokationen und Garbage Collection.
- Caching-Strategien und Lasttests.
Teststrategie über Ebenen hinweg
- Grenzen von Unit-Tests, Integrationstests und End-to-End-Tests.
- Testbare Architektur und Testdoppel (Test Doubles).
Bereitstellung und operative Bereitschaft
- Container, Konfiguration und CI/CD-Pipelines.
- Produktionsdiagnostik und Release-Sicherheit.
Capstone: Design-Review und Implementierung
- Architektur-Review einer Beispielanwendung.
- Implementierung und Refactoring eines Funktionsabschnitts (Feature Slice).
Voraussetzungen
- Erfahrung in der Programmierung mit C#
- Arbeitskenntnisse in der objektorientierten Programmierung
- Grundkenntnisse in SQL und relationalen Datenbanken
Zielgruppe
- .NET-Entwickler:innen
- Software-Ingenieur:innen und technische Leads
- Entwickler:innen, die in die Rolle der Applikationsgestaltung wechseln
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