Programowanie_funkcyjne_Krok_po_kroku_pfukpk.pdf

(530 KB) Pobierz
Tytuł oryginału: Becoming Functional
Tłumaczenie: Lech Lachowski
ISBN: 978-83-283-0243-3
© 2015 Helion S.A.
Authorized Polish translation of the English edition of Becoming Functional, ISBN
9781449368173.
© 2014 Joshua Backfield.
This translation is published and sold by permission of O’Reilly Media, Inc., which owns
or controls all rights to publish and sell the same.
All rights reserved. No part of this book may be reproduced or transmitted in any form
or by any means, electronic or mechanical, including photocopying, recording or by any
information storage retrieval system, without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu
niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą
kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym,
magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź
towarowymi ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce
informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za
ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub
autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności
za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/pfukpk
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/pfukpk.zip
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
Przedmowa ...................................................................................... 7
1. Wprowadzenie .............................................................................. 15
Przegl d koncepcji programowania funkcyjnego
Typy funkcyjne
Funkcje czyste
Rekurencja
Zmienne niemutowalne
Ewaluacja nierygorystyczna
Instrukcje
Dopasowywanie do wzorca
Programowanie funkcyjne i wspó bie no
Podsumowanie
15
16
16
16
16
16
17
17
17
18
2. Typy funkcyjne ............................................................................... 19
Wprowadzenie do firmy XXY
Funkcje jako obiekty
Refaktoryzacja przy u yciu struktur if-else
Refaktoryzacja przy u yciu obiektów funkcji
do wyodr bniania pól
Funkcje anonimowe
Funkcje lambda
Domkni cia
Funkcje wy szego rz du
Refaktoryzacja funkcji get za pomoc j zyka Groovy
Podsumowanie
19
22
22
24
30
30
33
35
37
38
3
Kup książkę
Poleć książkę
3. Funkcje czyste ................................................................................ 41
Dane wyj ciowe zale od danych wej ciowych
Oczyszczanie funkcji
Skutki uboczne
Podsumowanie
Przestawianie si na j zyk Groovy
41
45
50
53
54
4. Zmienne niemutowalne ................................................................59
Mutowalno
Niemutowalno
Podsumowanie
59
65
71
5. Rekurencja ..................................................................................... 73
Wprowadzenie do rekurencji
Rekurencja
Rekurencja ogonowa
Refaktoryzacja funkcji
countEnabledCustomersWithNoEnabledContacts
Podsumowanie
Wprowadzenie do j zyka Scala
74
77
80
81
83
84
6. Ewaluacje rygorystyczne i nierygorystyczne ...............................87
Ewaluacja rygorystyczna
Ewaluacja nierygorystyczna (leniwa)
Leniwo mo e stwarza problemy
Podsumowanie
88
89
93
96
7. Instrukcje ........................................................................................99
Skok na g bok wod
Proste instrukcje
Instrukcje blokowe
Wszystko jest instrukcj
Podsumowanie
100
100
102
104
112
4
Spis tre ci
Kup książkę
Poleć książkę
8. Dopasowywanie do wzorca .........................................................113
Proste dopasowania
Proste wzorce
Wyodr bnianie listy
Wyodr bnianie obiektów
Konwersja na dopasowywanie do wzorca
Podsumowanie
113
115
118
120
122
124
9. Funkcyjne programowanie obiektowe ....................................... 125
Hermetyzacja statyczna
Obiekty jako kontenery
Kod jako dane
Podsumowanie
125
127
129
132
10. Podsumowanie ............................................................................ 134
Od imperatywno ci do funkcyjno ci
Wprowadzenie funkcji wy szego rz du
Konwersja istniej cych metod na funkcje czyste
Konwersja p tli na metody rekurencyjne
lub ogonoworekurencyjne
Konwersja zmiennych mutowalnych na niemutowalne
Co dalej?
Nowe wzorce projektowe
Przekazywanie komunikatów
dla osi gni cia wspó bie no ci
Wzorzec Opcja (rozszerzenie wzorca Pusty Obiekt)
Czysto metody singletona z zachowaniem obiektowo ci
Wszystko razem
Podsumowanie
134
135
135
136
136
136
137
137
137
138
139
147
Skorowidz .................................................................................... 149
Spis tre ci
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin