Kategorien
/
Programmierung
/
Reaktives Programmieren mit Rx.NET

Reaktives Programmieren mit Rx.NET

Ein praxisnaher Kurs für reaktive, ereignisgesteuerte Anwendungen in .NET mit Reactive Extensions. Die Agenda vermittelt Kernkonzepte, Operatoren, Scheduling, Tests und ein durchgängiges Beispiel. Besonderer Schwerpunkt liegt auf Async und Performance ohne die experimentelle AsyncRx.NET Library.

Was werden Sie lernen?

Sie verstehen, wo Rx.NET in modernen .NET Architekturen sinnvoll ist, wie es sich von Events, Streams und Async Enumerables unterscheidet und wie robuste Observable Pipelines entstehen. Sie steuern Gleichzeitigkeit mit Schedulern, setzen zeitbasierte und Kombinationsoperatoren ein und testen reaktiven Code zuverlässig. Am Ende können Sie eine kleine reaktive Anwendung entwerfen, implementieren und tunen und typische Fallstricke vermeiden.

  • Ereignis und Datenflüsse mit Observables, Beobachtern und Schedulern modellieren
  • LINQ artige Operatoren für Filtern, Transformation, Kombination und Zeit anwenden
  • Async und Tasks sicher integrieren, Pipelines testen und debuggen sowie Fehler behandeln
  • Erkennen, wann Rx.NET sinnvoll ist, Quirks vermeiden und Performance messen

Anforderungen:

  • Fundierte C# Kenntnisse und Umgang mit async und await
  • Grundverständnis zu .NET Events, Tasks und Collections
  • Visual Studio oder Rider installiert

Kursübersicht*:

*Wir wissen, dass jedes Team seine eigenen Bedürfnisse und Anforderungen hat. Deshalb können wir den Schulungsplan je nach Bedarf anpassen.

Modul 1: Kurzüberblick reaktives Programmieren in .NET

  • Motivation und Einsatzgebiete warum reaktiv, Vorteile von Rx.NET
  • Was Rx.NET bereitstellt Überblick über Reactive Extensions
  • Schlüsselkonzepte Observables, Beobachter, Subscriptions und Scheduler
  • Unterschiede verstehen zu .NET Events, zu IEnumerable oder IAsyncEnumerable, zu Stream, zu Message Queues oder Brokern, zu Functional Reactive Programming

Modul 2: Arbeiten mit Observables

  • Observables erstellen und abonnieren kalt vs heiß und Subject Varianten
  • Asynchrone Datenströme verwalten Lebensdauer, Disposal und Backpressure Muster
  • Ereignisbehandlung mit Observables von Events und Timern bis UI und IO
  • Einordnung in der Architektur wo Rx.NET in Schichten passt und wann eher nicht

Modul 3: Zeitplaner in Rx.NET

  • Scheduler Typen Immediate, CurrentThread, NewThread, TaskPool, EventLoop und Synchronization Contexts
  • Gleichzeitigkeit steuern mit observeOn und subscribeOn
  • UI und Hintergrundarbeit koordinieren WPF Synchronization Context Beispiele
  • Zeitvirtualisierung für Tests und deterministisches Verhalten

Modul 4: LINQ Operatoren in Rx.NET

  • Filtern und Transformieren select, where, distinctUntilChanged, scan
  • Aggregieren und Zusammenstellen buffer, window, groupBy, aggregate
  • Zeitbasierte Operationen throttle, debounce, sample, interval, timeout
  • Materialize und Dematerialize für fortgeschrittene Flusskontrolle

Modul 5: Fortgeschrittene Techniken

  • Sequenzen kombinieren merge, concat, zip, combineLatest, withLatestFrom
  • Abläufe koordinieren switch, Muster ähnlich switchMap, Abwägung concatMap vs flatMap
  • Fehlerbehandlung retry, retryWhen, catch, onErrorResumeNext und Circuit Breaker Muster
  • Ressourcenmanagement using und finally für Aufräumen

Modul 6: Zusammenspiel mit async und await ohne AsyncRx.NET

  • Async Operationen als Observables modellieren Task und Task<T> mit FromAsync und StartAsync Mustern
  • Async Arbeit nicht direkt in Subscribe ausführen Tasks sauber in den Stream heben
  • Async Grenzen und Scheduling Deadlocks und Context Leaks vermeiden
  • Overhead messen und abstimmen Trade offs gegenüber reinem async und await

Modul 7: Testen und Debuggen von Rx.NET

  • Operatoren testen mit TestScheduler und virtueller Zeit
  • Deterministische Assertions auf Emissionen und Zeitachsen
  • Pipelines diagnostizieren Logging, Do, timestamp und materialize
  • Speicherprobleme debuggen Abo Leaks und Dispose Hygiene

Modul 8: Integrationsmuster

  • UI mit WPF und MVVM Commands, Property Streams und ViewModel Updates
  • Backend und Services externe Ereignisse, Sockets und Message Handler abbilden
  • Interop mit Async Enumerables Brücken zwischen IAsyncEnumerable und IObservable
  • Packaging und Wiederverwendung Extension Methods, Fabriken und Kompositionshelfer

Modul 9: Umgang mit Quirks von Rx.NET

  • Verteilungsfallstricke Plugins und Assembly Loading
  • Pitfalls mit Blazor Synchronization Context und Rendering Pipeline
  • Inkompatibilität von AsyncRx.NET mit .NET 10.0 aktueller Stand und sichere Alternativen
  • Versionierung und Provider Pakete Abhängigkeiten gesund halten

Modul 10: Performance und Zuverlässigkeit

  • Durchsatz vs Latenz Operatorkosten und Allokationen verstehen
  • Operatorwahl für Geschwindigkeit unnötige Subject Nutzung vermeiden
  • Backpressure artige Muster Buffering, Windowing und Drop Strategien
  • Messen mit Stopwatch, Countern und Sampling Profilern

Modul 11: Praktisches Projekt mit WPF und MVVM

  • End to End Design Inputs, Transformationen, Koordination, Outputs
  • Reale Szenarien implementieren Benutzerereignisse, IO und Cancellation
  • Bewährte Verfahren Komposition statt Vererbung und pure Funktionen an den Rändern
  • Performance Auswertung Hotspots, Scheduling Entscheidungen und gezielte Korrekturen

Modul 12: Abschluss und nächste Schritte

  • Checkliste für Produktionsreife Threading, Disposal, Fehlerpolitik
  • Test und Diagnose Tooling Vorlagen und Konventionen
  • Migration und Koexistenz mit bestehendem Event Code
  • Persönlicher Fahrplan und Referenzen

Praxisnahes Lernen mit erfahrenen Dozenten bei Ihnen vor Ort für Organisationen.

0
Graph Icon - Education X Webflow Template
Ebene: 
Intermediate
Clock Icon - Education X Webflow Template
Dauer: 
3
Tage (Stunden:
21
Camera Icon - Education X Webflow Template
Auf Ihre Bedürfnisse zugeschnittenes Training
Star Icon - Education X Webflow Template
Umfassende praktische Erfahrung in einem speziellen Umfeld
*Der Preis kann je nach Teilnehmerzahl, Änderung des Ablaufs, Standort usw. variieren.

Erlernen Sie neue Fähigkeiten unter Anleitung erfahrener Lehrer von überall.

0
Graph Icon - Education X Webflow Template
Ebene: 
Intermediate
Clock Icon - Education X Webflow Template
Dauer: 
3
Tage (Stunden:
21
Camera Icon - Education X Webflow Template
Auf Ihre Bedürfnisse zugeschnittenes Training
Star Icon - Education X Webflow Template
Reduzierte Schulungskosten
*Der Preis kann je nach Teilnehmerzahl, Änderung des Ablaufs, Standort usw. variieren.

You can participate in a Public Course with people from other organisations.

0

/per trainee

Number of Participants

1 Participant

Thanks for the numbers, they could be going to your emails. But they're going to mine... Thanks ;D
Oops! Something went wrong while submitting the form.
Graph Icon - Education X Webflow Template
Level: 
Intermediate
Clock Icon - Education X Webflow Template
Duration: 
3
Hours (days:
21
Camera Icon - Education X Webflow Template
Fits ideally for individuals and small groups
Star Icon - Education X Webflow Template
Networking opportunities with fellow participants.
*Price can range depending on number of participants, change of outline, location etc.