Hej,
Poniższym odcinkiem zaczynam serię filmów o programowaniu funkcyjnym.
Pod filmem znajdziesz dodatkowe podsumowanie zdobytej wiedzy.
Do zapamiętania z tego odcinka:
Funkcja powinna ograniczać efekty uboczne do minimum
Efektem ubocznym funkcji jest np. zmiana wartości współdzielonego stanu w klasie czy dodanie wpisu do logu aplikacji.
Dla tych samych parametrów wejściowych zwracamy tę samą wartość
Gdy tworzysz funkcję powinna być napisana w taki sposób abyś w miejscu wywołania jej mógł ją zastąpić jej wynikiem.
Traktuj swoje funkcję tak jak dane.
Gdy traktujesz swoje funkcje jak dane możesz zacząć korzystać z funkcji wyższego rzędu.
Funkcje wyższego rzędu przyjmują jako parametry wejściowe inne funkcje (i lub) zwracają wynik w postaci funkcji. Dzięki temu możemy zastąpić mechanizm dziedziczenia znany nam z programowania obiektowego mechanizmem kompozycji w którym składamy nasze funkcje w większą całość.
.Net zawiera bibliotekę LINQ jest przykładem zbioru funkcji wyższego rzędu. Znajdujemy tu między innymi funkcję Where lub Select które jako parametry wejściowe przyjmują funkcje