Programowanie funkcyjne w Javie

Opis

Język Java zasłynął jako obiektowy język programowania. W ciągu ostatnich kilku wersji, aby wzbogacić możliwości języka, nadać mu większej zwięzłości i ekspresyjności, zaczęto wprowadzać elementy programowania funkcyjnego. Niniejsze szkolenie sprawi, iż Twoje programowanie przeniesie się na wyższy poziom i zobaczysz z jaką łatwością można się zastąpić wiele problematycznych konstrukcji z klasycznej Javy, konstrukcjami funkcyjnymi. Szkolenie uwzględnia zmiany, które pojawiły się w wersji 8 i 9 języka.

Podstawowy program

Moduł. 1
Wprowadzenie do programowania funkcyjnego
Moduł. 2
Budowa interfejsów
Moduł. 3
Wyrażenia lambda
Moduł. 4
Strumienie danych (Stream API)
Moduł. 5
Klasa Optional
Moduł. 6
File I/O
Moduł. 7
Pakiet java.time.Package

Szczegółowy program

Moduł. 1
Wprowadzenie do programowania funkcyjnego
  • Czym jest programowanie funkcyjne?
  • Programowanie funkcyjne a inne paradygmaty programowania
  • Zakres wsparcia programowania funkcyjnego w Javie
Moduł. 2
Budowa interfejsów
  • Interfejsy z jedną metodą abstrakcyjną i ich implementacja
  • Metody domyślne
  • Metody statyczne
  • Rozwiązywanie konfliktów w interfejsach
  • Przykładowe metody statyczna i domyślne w Java API
  • Pakiet java.util.function
  • Consumer
  • Supplier
  • Function
  • UnaryOperator i BinaryOperator
Moduł. 3
Wyrażenia lambda
  • Czym są wyrażenia lambda?
  • Składnia lambda w języku Java
  • Referencje do metod i konstruktorów
  • Przykłady użycia wyrażeń lambda w zastosowaniu do realnych problemów
Moduł. 4
Strumienie danych (Stream API)
  • Czym są strumienie danych?
  • Tworzenie i przetwarzanie strumieni
  • Interfejs java.util.Stream
  • Strumienie obiektowe i „prymitywne”
  • Mapowanie i filtrowanie
  • Operacje redukcyjne (map-reduce)
  • Zbieranie danych z list i zbiorów
  • Zbieranie danych ze złożonych struktur danych
  • Implementacja komparatorów z użyciem lambd
  • Optymalizacje
Moduł. 5
Klasa Optional
  • Tworzenie wyników opcjonalnych
  • Optional w warstwie dostępu do danych
  • Metody typu Optional
Moduł. 6
File I/O
  • Strumienie NIO
  • Autmatycznie zamykane strumienie z klauzulą try-with-resources
Moduł. 7
Pakiet java.time.Package
  • Wprowadzenie do pakietu java.time
  • Typy immutable i metody fabrykujące
  • Problemy związane ze strefami czasowymi
  • Jednostki czasu (period, duration)

Parametry szkolenia

Czas trwania
2 x 8h
Forma zajęć
Ćwiczenia - 60%, wykład - 40%
Kod
JF
Wielkość grupy
do 10 osób

Jak zamówić

« lista szkoleń