Funktionale Programmierung in C# (.NET)
Funktionale Programmierung in C# (.NET)
Zusammenfassung:
Das Buch „Funktionale Programmierung in C# (.NET)“ ist ein praktischer Leitfaden, der C#-Entwicklern hilft, das funktionale Paradigma im Kontext der modernen .NET-Plattform zu erlernen. Der Autor, Alexey Ilyin, führt den Leser konsequent von den grundlegenden Prinzipien (reine Funktionen, Datenunveränderlichkeit) bis zu komplexen Konzepten (Monaden, Funktoren, faule Berechnungen) und zeigt, wie man sie in realen Projekten anwendet.
Worum geht es in diesem Buch?
- Grundlagen des funktionalen Ansatzes: warum Unveränderlichkeit die Anzahl der Fehler reduziert, wie reine Funktionen und Seiteneffekte funktionieren.
- Tiefes Eintauchen in LINQ: von der Abfragesyntax bis zur Erstellung eigener Operatoren und Anbieter.
- Fortgeschrittene Techniken: Funktionskomposition, Currying, partielle Anwendung, Rekursion und Optimierung der Endrekursion.
- Arbeit mit Monaden: Option, Either, Try, State – wie man Null-Referenzen vermeidet und Fehler ohne Ausnahmen behandelt.
- Patterns des funktionalen Designs: Dependency Injection ohne Klassen, funktionale Fassaden, Interpreten.
- Integration mit imperativem Code: wie man funktionale Praktiken schrittweise in bestehende C#-Projekte einführt.
- Leistung: wann funktionaler Code schneller ist als imperativer und wann nicht.
Für wen ist dieses Buch?
- C#-Entwickler jeden Niveaus, die ihr Werkzeugarsenal erweitern möchten.
- Programmierer, die von Java oder Python auf .NET umsteigen und mit dem funktionalen Stil vertraut sind.
- Architekten, die zuverlässigere und testbarere Systeme entwerfen möchten.
Was werden Sie lernen?
- Wie man Code ohne Seiteneffekte und mit vorhersagbarem Verhalten schreibt.
- Wie man LINQ nicht nur für Sammlungen, sondern auch für Streams, asynchrone Operationen und Fehlerbehandlung effektiv einsetzt.
- Wie man Datentransformationsketten ohne temporäre Variablen aufbaut.
- Wie man eigene Monaden implementiert und mit Kontexten (Maybe, Either, Writer) arbeitet.
- Wie man funktionalen Code testet: Modultests für reine Funktionen und property-based testing.
- Wie man Legacy-Code umgestaltet, indem man imperative Schleifen durch deklarative Konstrukte ersetzt.
Alle Beispiele sind in C# 12 unter .NET 8 geschrieben und mit Erläuterungen versehen. Das Buch eignet sich sowohl zum Selbststudium als auch als Nachschlagewerk. Nach dem Durcharbeiten des Materials werden Sie in der Lage sein, prägnanteren, zuverlässigeren und leichter wartbaren Code zu schreiben, der die besten Praktiken der funktionalen Programmierung im .NET-Ökosystem nutzt.