Sie sind hier:
Lexikon/Glossar
Telefon (Mo-Fr 9-16 Uhr):
0201/649590-0
|
Kontaktformular
MENU
Start
Hauptseite
Angebote im Überblick
Kernkompetenzen
Softwareentwicklung
Beratung
Firmen-Schulungen
Offene Seminare
Online-Maßnahmen
Vorträge
Coaching
Support
Fachbücher
Fachartikel
Konditionen
Themen
Kernkompetenzen
Aktuelle Themen
Web & Cloud
Apps / Mobilplattformen
Benutzeroberflächen / User Experience
.NET
JavaScript / TypeScript
Java
Programmiersprachen
Entwicklungswerkzeuge
Scripting
Softwareengineering
Datenbanken / Reporting / BI
Betriebssysteme & Virtualisierung
Microsoft Server-Produkte
Windows & Office für Anwender
Soft Skills & IT-Recht
Beratung
Beratungsthemen
Coaching
Softwareentwicklung
Technischer Support
Unsere Top-Berater
Referenzkunden
Angebotsanfrage
Individuelle Schulungen
1026 Schulungsthemen
Agendakonfigurator
Weiterbildungsphilosophie
Didaktische Konzepte
Vor Ort oder online
Unsere Top-Trainer
Referenzkunden
Teilnehmerfeedback
Angebotsanfrage
Offene Seminare
.NET-Akademie
.NET/C#-Basisseminar
WPF
WinUI
.NET MAUI
Blazor
ASP.NET WebAPI & gRPC
Entity Framework Core
Unit Testing / TDD
PowerShell
Infotage
Wissen
Übersicht
Fachbücher
Fachartikel
Konferenzvorträge
Konferenzen/Events
Spickzettel
Lexikon/Glossar
Programmcodebibliothek
Versionshistorie
Weblog
Downloads
Newsletter
Community-/Leserportal
Registrierung
.NET/C#/Visual Studio
.NET 10.0
.NET 9.0
.NET 8.0
ASP.NET (Core)/Blazor
PowerShell
Über uns
Kontakt
Selbstdarstellung
Kernkompetenzen
Dr. Holger Schwichtenberg
Top-Experten
Leitung & Kundenteam
Referenzkunden
Kundenaussagen
Referenzprojekte
Partner
Konditionen
Stellenangebote
Weitere Websites
Impressum
Datenschutzerklärung, Haftung, Urheberrecht, Barrierefreiheit
Suche
Themenkatalog
Tag Cloud
Volltextsuche
Site Map
FAQs
Erklärung des Begriffs: Redux
Zur Stichwortliste unseres Lexikons
Was ist
Redux
?
Das Flux-Pattern ist eine Variante des Observer-Pattern, die in von der Firma Facebook im Jahr 2014 veröffentlicht wurde. Redux ist eine modifizierte Implementierung von Flux, die 2015 erschienen ist (vgl. [
https://redux.js.org/understanding/history-and-design/prior-art
]).
Redux verwendet "Pure Funktionen" (Pure Functions) im sogenannten "Reducer", die einen Zustand nicht modifizieren, sondern einen neuen Zustand erzeugen (
Immutable
Objects).
Praxisbeispiel:
Immutable
Objects mit Record-Typen (ab
C# 9.0
) beim Redux-Pattern
Ohne Record-Typen sieht die Implementierung eines Zustands für einen einfachen Zähler und eines Reducers zum Ändern des Zählers in C# so aus:
public class CounterState
{
public int ClickCount { get; }
public CounterState(int clickCount)
{
ClickCount = clickCount;
}
}
public static class Reducers
{
[ReducerMethod]
public static CounterState ReduceIncrementCounterAction(CounterState state, IncrementCounterAction action) =>
new CounterState(state.ClickCount + 1);
[ReducerMethod]
public static CounterState ReduceDecrementCounterAction(CounterState state, IncrementCounterAction action) =>
new CounterState(state.ClickCount - 1);
}
Mit Record-Typen ist dies wesentlich prägnanter implementierbar:
public record CounterState(int ClickCount);
public static class Reducers1
{
[ReducerMethod]
public static CounterState ReduceIncrementCounterAction(CounterState state, IncrementCounterAction action) =>
state with { ClickCount = state.ClickCount + 1 };
[ReducerMethod]
public static CounterState ReduceDecrementCounterAction(CounterState state, DecrementCounterAction action) =>
state with { ClickCount = state.ClickCount - 1 };
}
Weitere Teile des Redux-Patterns (Feature, Actions) sind hier nicht wiedergegeben, da sie sich durch den Einsatz von Record-Typen nicht ändern. Siehe dazu die Bibliothek Fluxor, die Redux für
.NET
realisiert:
https://github.com/mrpmorris/Fluxor
Querverweise zu anderen Begriffen im Lexikon
Immutable
.NET (DOTNET)
CSharp 9.0 (C# 9.0)
Beratung & Support
Anfrage für Beratung/Consulting zu REDUX
Gesamter Beratungsthemenkatalog
Technischer Support zum REDUX
Schulungen
Angular - Aufbauwissen (Angular Advanced)
React (Entwicklung von Single Page Web Applications mit React)
React Native
Anfrage für eine individuelle Schulung zum Thema REDUX
Gesamter Schulungsthemenkatalog
Fachbücher
Blazor 10.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 10.0, C# 14.0 und Visual Studio 2026
C# 14.0 Crashkurs
Moderne Datenzugriffslösungen mit Entity Framework Core 10.0
.NET 10.0 Update: Die Neuerungen in .NET 10.0 gegenüber .NET 9.0
Blazor 9.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 9.0, C# 13.0 und Visual Studio 2022
C# 13.0 Crashkurs
Cross-Plattform-Apps mit .NET MAUI entwickeln
Moderne Datenzugriffslösungen mit Entity Framework Core 9.0
.NET 9.0 Update: Die Neuerungen in .NET 9.0 gegenüber .NET 8.0
PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
.NET 8.0 Update: Die Neuerungen in .NET 8.0 gegenüber .NET 7.0
Concurrency with Modern C++: What every professional C++ programmer should know about concurrency
C++20: Get the Details
Blazor 8.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 8.0, C# 12.0 und Visual Studio 2022
Moderne Datenzugriffslösungen mit Entity Framework Core 8.0
C# 12.0 Crashkurs
App-Entwicklung für Mobile und Desktop: Software Engineering mit .NET MAUI und Comet für iOS, Android, Windows und macOS
Cross-Plattform-Apps mit .NET MAUI entwickeln
Blazor 7.0: Blazor WebAssembly, Blazor Server und Blazor Hybrid
C# 11.0 Crashkurs
Moderne Datenzugriffslösungen mit Entity Framework Core 7.0
PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
C++ Core Guidelines Explained: Best Practices for Modern C++
App Engineering: SwiftUI, Jetpack Compose, .NET MAUI und Flutter
Vue.js 3 Crashkurs
Moderne Datenzugriffslösungen mit Entity Framework Core 6.0
Blazor 6.0: Blazor WebAssembly, Blazor Server und Blazor Desktop
C# 10.0 Crashkurs
Cross-Plattform-Apps mit Xamarin.Forms entwickeln
Developing Web Components with TypeScript: Native Web Development Using Thin Libraries
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr