wzorce implementacyjne cała książka.pdf

(6583 KB) Pobierz
Spis treści
Wstęp ...................................................................................................................................... 11
Podziękowania ....................................................................................................................... 12
Rozdział 1. Wprowadzenie ..................................................................................................... 13
Przewodnik ............................................................................................................................ 15
A teraz… ................................................................................................................................. 16
Rozdział 2. Wzorce ................................................................................................................. 17
Rozdział 3. Teoria programowania ........................................................................................ 21
Wartości ................................................................................................................................. 22
Komunikatywność .......................................................................................................... 22
Prostota ............................................................................................................................ 23
Elastyczność ..................................................................................................................... 24
Zasady ..................................................................................................................................... 25
Lokalne konsekwencje ................................................................................................... 26
Minimalizacja powtórzeń .............................................................................................. 26
Połączenie logiki i danych ............................................................................................. 27
Symetria ........................................................................................................................... 27
Przekaz deklaratywny .................................................................................................... 28
Tempo zmian .................................................................................................................. 29
Wnioski .................................................................................................................................. 30
Rozdział 4. Motywacja ............................................................................................................ 31
Rozdział 5. Klasy ..................................................................................................................... 33
Klasa ........................................................................................................................................ 34
Prosta nazwa klasy bazowej ................................................................................................. 35
Kwalifikowana nazwa klasy pochodnej ............................................................................. 36
Interfejs abstrakcyjny ............................................................................................................ 37
Interfejs ................................................................................................................................... 38
Klasa abstrakcyjna ................................................................................................................. 39
7
Kup książkę
Poleć książkę
8
S
PIS TREŚCI
Interfejs wersjonowany ........................................................................................................ 40
Obiekt wartościowy .............................................................................................................. 41
Specjalizacja ........................................................................................................................... 43
Klasa pochodna ..................................................................................................................... 44
Implementator ....................................................................................................................... 46
Klasa wewnętrzna .................................................................................................................. 47
Zachowanie zależne od instancji ......................................................................................... 48
Konstrukcja warunkowa .......................................................................................................48
Delegacja ..................................................................................................................................50
Selektor dołączany .................................................................................................................52
Anonimowa klasa wewnętrzna ............................................................................................53
Klasa biblioteczna ...................................................................................................................53
Wniosek ...................................................................................................................................54
Rozdział 6. Stan ...................................................................................................................... 55
Stan .......................................................................................................................................... 56
Dostęp ..................................................................................................................................... 57
Dostęp bezpośredni .............................................................................................................. 58
Dostęp pośredni .................................................................................................................... 59
Wspólny stan ......................................................................................................................... 60
Stan zmienny ......................................................................................................................... 60
Stan zewnętrzny ..................................................................................................................... 62
Zmienna ................................................................................................................................. 62
Zmienna lokalna .................................................................................................................... 63
Pole .......................................................................................................................................... 65
Parametr ................................................................................................................................. 66
Parametr zbierający .............................................................................................................. 67
Parametr opcjonalny ............................................................................................................ 68
Zmienna lista argumentów .................................................................................................. 68
Obiekt parametrów ............................................................................................................... 69
Stałe ......................................................................................................................................... 70
Nazwa sugerująca znaczenie ................................................................................................ 71
Zadeklarowany typ ................................................................................................................ 72
Inicjalizacja ............................................................................................................................. 73
Inicjalizacja wczesna ............................................................................................................. 73
Inicjalizacja leniwa ................................................................................................................ 74
Wniosek ...................................................................................................................................75
Rozdział 7. Zachowanie .......................................................................................................... 77
Przepływ sterowania .............................................................................................................. 78
Przepływ główny .................................................................................................................... 78
Komunikat .............................................................................................................................. 79
Komunikat wybierający......................................................................................................... 80
Dwukrotne przydzielanie...................................................................................................... 80
Komunikat dekomponujący (sekwencjonujący) ............................................................... 81
Komunikat odwracający ....................................................................................................... 82
Komunikat zapraszający ....................................................................................................... 83
Kup książkę
Poleć książkę
S
PIS TREŚCI
9
Komunikat wyjaśniający ....................................................................................................... 83
Przepływ wyjątkowy .............................................................................................................. 84
Klauzula strażnika.................................................................................................................. 84
Wyjątek.................................................................................................................................... 86
Wyjątki sprawdzane............................................................................................................... 87
Propagacja wyjątków ............................................................................................................. 87
Wniosek....................................................................................................................................88
Rozdział 8. Metody ................................................................................................................. 89
Metoda złożona ..................................................................................................................... 92
Nazwa określająca przeznaczenie ....................................................................................... 93
Widoczność metody ............................................................................................................. 94
Obiekt metody ....................................................................................................................... 96
Metoda przesłonięta ............................................................................................................. 98
Metoda przeciążona .............................................................................................................. 98
Typ wynikowy metody ......................................................................................................... 99
Komentarz do metody ........................................................................................................ 100
Metoda pomocnicza ........................................................................................................... 100
Metoda komunikatu informacyjnego .............................................................................. 101
Konwersja ............................................................................................................................. 102
Metoda konwertująca ......................................................................................................... 102
Konstruktor konwertujący ................................................................................................. 103
Utworzenie ........................................................................................................................... 103
Kompletny konstruktor ...................................................................................................... 104
Metoda wytwórcza .............................................................................................................. 105
Fabryka wewnętrzna ........................................................................................................... 106
Metoda dostępu do kolekcji ............................................................................................... 106
Metoda określająca wartości logiczne .............................................................................. 108
Metoda zapytania ................................................................................................................ 108
Metoda równości ................................................................................................................. 109
Metoda pobierająca ............................................................................................................. 110
Metoda ustawiająca ............................................................................................................. 111
Bezpieczna kopia ................................................................................................................. 112
Wniosek ................................................................................................................................ 113
Rozdział 9. Kolekcje .............................................................................................................. 115
Metafory ............................................................................................................................... 116
Zagadnienia .......................................................................................................................... 117
Interfejsy ............................................................................................................................... 119
Tablice (klasa Array) .................................................................................................... 120
Interfejs Iterable ............................................................................................................ 120
Interfejs Collection — kolekcje ................................................................................... 121
Interfejs List — listy ...................................................................................................... 121
Interfejs Set — zbiory ................................................................................................... 121
Interfejs SortedSet — zbiory posortowane ................................................................ 122
Interfejs Map — mapy ................................................................................................. 123
Implementacje ..................................................................................................................... 123
Kup książkę
Poleć książkę
10
S
PIS TREŚCI
Implementacje interfejsu Collection .......................................................................... 124
Implementacje interfejsu List ..................................................................................... 125
Implementacje interfejsu Set ....................................................................................... 125
Implementacje interfejsu Map .................................................................................... 126
Klasa Collections ................................................................................................................. 128
Wyszukiwanie ............................................................................................................... 128
Sortowanie ..................................................................................................................... 128
Kolekcje niezmienne .................................................................................................... 129
Kolekcje jednoelementowe .......................................................................................... 129
Kolekcje puste ............................................................................................................... 129
Rozszerzanie kolekcji .......................................................................................................... 130
Wniosek ................................................................................................................................ 131
Rozdział 10. Rozwijanie platform ........................................................................................ 133
Modyfikowanie platform bez zmian w aplikacjach ........................................................ 133
Niezgodne aktualizacje ....................................................................................................... 134
Zachęcanie do wprowadzania zgodnych zmian ............................................................. 136
Klasa biblioteczna ......................................................................................................... 137
Obiekty ........................................................................................................................... 137
Wnioski ................................................................................................................................ 146
Dodatek A. Pomiary wydajności .......................................................................................... 149
Przykład ................................................................................................................................ 150
API ......................................................................................................................................... 150
Implementacja ..................................................................................................................... 151
Klasa MethodTimer ............................................................................................................ 152
Eliminacja narzutów czasowych ....................................................................................... 154
Testy ...................................................................................................................................... 154
Porównywanie kolekcji ................................................................................................ 155
Porównywanie kolekcji ArrayList i LinkedList ........................................................ 157
Porównywanie zbiorów ............................................................................................... 158
Porównywanie map ...................................................................................................... 159
Wnioski ................................................................................................................................ 160
Bibliografia ........................................................................................................................... 163
Ogólne zagadnienia programistyczne .............................................................................. 163
Filozofia ................................................................................................................................ 165
Java ........................................................................................................................................ 166
Spis szablonów ...................................................................................................................... 167
Skorowidz ............................................................................................................................. 169
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin