Tytuł: | Programowanie funkcyjne. Krok po kroku | Autor: | Joshua Backfield | ISBN: | 978-83-283-0243-3 | Ilość stron: | 152 | Data wydania: | 03/2015 | Oprawa: | Miękka | Format: | 140x208 | Wydawnictwo: | Helion | Cena: | 39.90zł |
Zmień swoje podejście do programowania!
Języki funkcyjne zdobywają wśród programistów coraz większą popularność. Jak bezboleśnie zmienić sposób myślenia na funkcyjny? Ułatwi Ci to niniejsza książka, w całości poświęcona temu podejściu do programowania.
Poznaj podstawy teoretyczne programowania funkcyjnego, a następnie zacznij zgłębiać tajniki typów funkcyjnych, rekurencji oraz zmiennych niepodlegających modyfikacji. Z kolejnych rozdziałów dowiedz się, czym są ewaluacja rygorystyczna i nierygorystyczna. Zobacz też, jak wykonać dopasowanie do wzorca.
Co jeszcze znajdziesz w tej książce? Wprowadzenie do języka Scala, przedstawienie języka Groovy oraz opis technik funkcyjnego programowania obiektowego to tylko niektóre z poruszanych w niej tematów. Jeżeli chcesz zmienić sposób programowania na funkcyjny, to doskonała pozycja dla Ciebie!
• Dowiesz się, czemu obecne sprawnie działające aplikacje lepiej funkcjonują z kodem funkcyjnym.
• Przejdziesz od wzorców stylu imperatywnego do kodu funkcyjnego w kilku podstawowych krokach.
• Przyspieszysz z językami Groovy i Scala dzięki przykładom.
• Zrozumiesz, w jaki sposób typy funkcyjne są przekazywane do innych funkcji i zwracane z nich.
• Przekonwertujesz istniejące metody na funkcje czyste, a pętle na metody rekurencyjne.
• Przejdziesz od zmiennych mutowalnych do niemutowalnych.
• Uzyskasz praktyczne doświadczenie w zakresie stosowania instrukcji oraz ewaluacji nierygorystycznej.
• Będziesz stosował programowanie funkcyjne z elementami programowania obiektowego.
Przekonaj się, jak podejście funkcyjne może ułatwić Ci życie.
Spis treści:
1. Wprowadzenie (15)
- Przegląd koncepcji programowania funkcyjnego (15)
- Typy funkcyjne (16)
- Funkcje czyste (16)
- Rekurencja (16)
- Zmienne niemutowalne (16)
- Ewaluacja nierygorystyczna (16)
- Instrukcje (17)
- Dopasowywanie do wzorca (17)
- Programowanie funkcyjne i współbieżność (17)
- Podsumowanie (18)
2. Typy funkcyjne (19)
- Wprowadzenie do firmy XXY (19)
- Funkcje jako obiekty (22)
- Refaktoryzacja przy użyciu struktur if-else (22)
- Refaktoryzacja przy użyciu obiektów funkcji do wyodrębniania pól (24)
- Funkcje anonimowe (30)
- Funkcje lambda (30)
- Domknięcia (33)
- Funkcje wyższego rzędu (35)
- Refaktoryzacja funkcji get za pomocą języka Groovy (37)
- Podsumowanie (38)
3. Funkcje czyste (41)
- Dane wyjściowe zależą od danych wejściowych (41)
- Oczyszczanie funkcji (45)
- Skutki uboczne (50)
- Podsumowanie (53)
- Przestawianie się na język Groovy (54)
4. Zmienne niemutowalne (59)
- Mutowalność (59)
- Niemutowalność (65)
- Podsumowanie (71)
5. Rekurencja (73)
- Wprowadzenie do rekurencji (74)
- Rekurencja (77)
- Rekurencja ogonowa (80)
- Refaktoryzacja funkcji countEnabledCustomersWithNoEnabledContacts (81)
- Podsumowanie (83)
- Wprowadzenie do języka Scala (84)
6. Ewaluacje rygorystyczne i nierygorystyczne (87)
- Ewaluacja rygorystyczna (88)
- Ewaluacja nierygorystyczna (leniwa) (89)
- Leniwość może stwarzać problemy (93)
- Podsumowanie (96)
7. Instrukcje (99)
- Skok na głęboką wodę (100)
- Proste instrukcje (100)
- Instrukcje blokowe (102)
- Wszystko jest instrukcją (104)
- Podsumowanie (112)
8. Dopasowywanie do wzorca (113)
- Proste dopasowania (113)
- Proste wzorce (115)
- Wyodrębnianie listy (118)
- Wyodrębnianie obiektów (120)
- Konwersja na dopasowywanie do wzorca (122)
- Podsumowanie (124)
9. Funkcyjne programowanie obiektowe (125)
- Hermetyzacja statyczna (125)
- Obiekty jako kontenery (127)
- Kod jako dane (129)
- Podsumowanie (132)
10. Podsumowanie (134)
- Od imperatywności do funkcyjności (134)
- Wprowadzenie funkcji wyższego rzędu (135)
- Konwersja istniejących metod na funkcje czyste (135)
- Konwersja pętli na metody rekurencyjne lub ogonoworekurencyjne (136)
- Konwersja zmiennych mutowalnych na niemutowalne (136)
- Co dalej? (136)
- Nowe wzorce projektowe (137)
- Przekazywanie komunikatów dla osiągnięcia współbieżności (137)
- Wzorzec Opcja (rozszerzenie wzorca Pusty Obiekt) (137)
- Czystość metody singletona z zachowaniem obiektowości (138)
- Wszystko razem (139)
- Podsumowanie (147)
Programowanie funkcyjne. Krok po kroku --- Pozycja niedostępna.---
|