Am Ende des Seminars sind die Teilnehmenden in der Lage, die Konzepte der funktionalen Programmierung in Java effektiv zu nutzen, um zuverlässige und skalierbare Anwendungen zu entwickeln. Sie lernen, wie sie Lambdas, Streams und funktionale Schnittstellen verwenden, um ihren Code sauberer und wartbarer zu gestalten.
Überblick und Geschichte: Was ist funktionale Programmierung und warum ist sie wichtig? Historische Entwicklung und Hauptmerkmale.
Vergleich mit anderen Programmierparadigmen: Unterschiede zwischen funktionaler, objektorientierter und prozeduraler Programmierung.
Grundlegende Konzepte der funktionalen Programmierung
Unveränderlichkeit: Prinzip der Unveränderlichkeit und dessen Vorteile.
Pure Functions: Definition und Vorteile reiner Funktionen.
First-Class Functions: Funktionen als erstklassige Bürger und deren Bedeutung.
Funktionale Programmierung in Java
Java 8 und funktionale Programmierung: Überblick über die Neuerungen in Java 8, die funktionale Programmierung unterstützen.
Lambdas: Einführung in Lambda-Ausdrücke, Syntax und Anwendungsbeispiele.
Functional Interfaces: Nutzung und Implementierung funktionaler Schnittstellen.
Streams API
Einführung in Streams: Grundlagen des Streams API in Java.
Verarbeitung von Datenströmen: Nutzung von Streams zur Datenverarbeitung und -transformation.
Methoden der Streams API: Filter, Map, Reduce und andere wichtige Stream-Operationen.
Praktische Übung 1: Einführung in funktionale Programmierung mit Java
Problemstellung: Implementierung einfacher funktionaler Programme unter Verwendung von Lambdas und Streams.
Lösung: Nutzung von Lambda-Ausdrücken und Streams zur Lösung von Programmierproblemen.
Ergebnis: Ein besseres Verständnis der grundlegenden Konzepte und deren Anwendung in Java.
Fortgeschrittene Konzepte der funktionalen Programmierung
Higher-Order Functions: Funktionen, die andere Funktionen als Argumente verwenden oder zurückgeben.
Currying und Partial Application: Einführung in Currying und Partial Application und deren Anwendung.
Rekursion: Nutzung der Rekursion zur Lösung von Problemen in der funktionalen Programmierung.
Optionals und funktionale Programmierung
Einführung in Optional: Nutzen und Vorteile der Klasse Optional in Java.
Verwendung von Optional: Anwendung von Optional zur Vermeidung von NullPointerExceptions.
Nebenläufigkeit und Parallelität
Parallel Streams: Nutzung von parallelen Streams zur Optimierung der Performance.
CompletableFuture: Einführung und Anwendung von CompletableFuture zur nebenläufigen Programmierung.
Best Practices und Performance-Tuning
Best Practices: Empfehlungen und Best Practices für die funktionale Programmierung in Java.
Performance-Tuning: Techniken zur Optimierung der Performance funktionaler Programme.
Praktische Übung 2: Entwicklung eines komplexen funktionalen Programms
Problemstellung: Entwicklung einer Anwendung unter Nutzung fortgeschrittener Konzepte der funktionalen Programmierung.
Lösung: Implementierung des Programms unter Verwendung von Higher-Order Functions, Currying und Parallel Streams.
Ergebnis: Ein umfassendes Verständnis der fortgeschrittenen Konzepte und deren Anwendung in realen Projekten.
Dauer/zeitlicher Ablauf:
2 Tage
Zielgruppe:
Dieses Seminar richtet sich an Java-Entwickler, Software-Ingenieure und IT-Profis, die grundlegende und fortgeschrittene Kenntnisse in der funktionalen Programmierung mit Java erwerben möchten. Grundlegende Kenntnisse in Java sind erforderlich, Kenntnisse in der funktionalen Programmierung sind hilfreich
Wir setzen Analyse-Cookies ein, um Ihre Zufriedenheit bei der Nutzung unserer Webseite zu verbessern.
Diese Cookies werden nicht automatisiert gesetzt.
Wenn Sie mit dem Einsatz dieser Cookies einverstanden sind, klicken Sie bitte auf Akzeptieren.
Weitere Informationen finden Sie hier.