Schulungsübersicht
Von Sprachkenntnissen zur Lösungsarchitektur
- Fortgeschrittene C#-Funktionen und deren Auswirkung auf das Design.
- Ermittlung der Designabsicht aus vorhandenem Code.
Anforderungsanalyse und Domänenmodellierung
- Use Cases, User Stories und Akzeptanzkriterien.
- Domänenmodelle und einheitliche Sprache (Ubiquitous Language).
Software-Designprinzipien
- Die SOLID-Prinzipien angewendet auf .NET-Lösungen.
- Kopplung, Kohäsion und Richtung von Abhängigkeiten.
Designmuster für .NET-Anwendungen
- Auswahl generativer, struktureller und verhaltensbezogener Muster.
- Muster und Antipattern im bestehenden Code.
Architekturstile und Entscheidungsfindung
- Vergleich von Schichtarchitektur, hexagonaler Architektur und Clean Architecture.
- Aktionsprotokolle (Architecture Decision Records) und Trade-off-Analysen.
Planung der Lösungstruktur
- Organisation von Solutions und Projekten für große Codebasen.
- Modulare Monolithe im Vergleich zu serviceorientierten Grenzen.
Modernes C# für wartbaren Code
- Mustererkennung (Pattern Matching), Records und nullable Referenztypen.
- Generische Typen, LINQ und funktionale Komposition.
Fehlerbehandlung, Protokollierung und Beobachtbarkeit (Observability)
- Fehlerstrategie und Fehlerverträge (Error Contracts).
- Strukturiertes Logging, Korrelation und Health Checks.
Reflexion, Attribute und Metaprogrammierung
- Attribute-gestütztes Design und Anwendungsfälle für Reflexion.
- Quellgeneratoren und Codegenerierung zur Kompilierzeit.
Grundlagen von ASP.NET Core
- Hosting-Modell, Dependency Injection und Konfiguration.
- Anfragepipeline, Middleware und Filter.
Gestaltung 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 (Secrets Management).
Gefahrenmodellierung (Threat Modeling) 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.
- Lebenszyklus des DbContext und Migrationsstrategie.
Abfrage-Performance und Datenarchitektur
- Ladestrategien und Fehler bei Eager Loading.
- Transaktionen, Concurrent Control Tokens (Concurrency Tokens) und Umgehung von EF.
Parallelität und asynchrone Programmierung
- Tasks, das TPL und Probleme bei async/await.
- Synchronisation, Abbruch und thread-safe Programmierung.
Performance-Optimierung
- Profiling und Benchmarking mit BenchmarkDotNet.
- Speicher, Allokationen und Garbage Collection.
- Caching-Strategien und Lasttests.
Teststrategie über Schichten hinweg
- Grenzen zwischen Unit-, Integrations- und End-to-End-Tests.
- Testbare Architektur und Testdoubles (Test-Doubles).
Bereitstellung und Betriebstauglichkeit (Operational Readiness)
- Container, Konfiguration und CI/CD-Pipelines.
- Produktionsdiagnose und Sicherheit bei Releases.
Capstone-Projekt: Designprüfung und Implementierung
- Architekturprüfung einer Beispielanwendung.
- Implementierung und Refactoring eines Funktionsabschnitts (Feature Slice).
Voraussetzungen
- Erfahrung in der Programmierung mit C#
- Praktisches Wissen über objektorientierte Programmierung
- Grundkenntnisse in SQL und relationalen Datenbanken
Zielgruppe
- .NET-Entwickler
- Software-Ingenieure und technische Leads
- Entwickler, die in die Rolle des Anwendungsdesigners 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