wprowadź własne kryteria wyszukiwania książek: (jak szukać?)
Twój koszyk:   1 egz. / 60.00 57,00   zamówienie wysyłkowe >>>
Strona główna > opis książki
English version
Książki:

polskie
podział tematyczny
 
anglojęzyczne
podział tematyczny
 
Newsletter:

Zamów informacje o nowościach z wybranego tematu
 
Informacje:

o księgarni

koszty wysyłki

kontakt

Cookies na stronie

 
Szukasz podpowiedzi?
Nie znasz tytułu?
Pomożemy Ci, napisz!


Podaj adres e-mail:


możesz też zadzwonić
+48 512 994 090

MYŚLENIE OBIEKTOWE W PROGRAMOWANIU


WEISFELD M.

wydawnictwo: HELION, 2020, wydanie V

cena netto: 60.00 Twoja cena  57,00 zł + 5% vat - dodaj do koszyka

Myślenie obiektowe w programowaniu

Burzliwy rozwój obiektowości nastąpił w połowie lat 90. wraz z upowszechnieniem się takich języków jak C++ czy Smalltalk. Obecnie programowanie zorientowane obiektowo wciąż jest jednym z najważniejszych paradygmatów projektowania. Łatwo zauważyć, że większość nowoczesnych języków programowania i technologii sieciowych opiera się na technikach obiektowych. Nieco trudniej jest dostrzec, że mimo szybkiego ewoluowania technik i języków programistycznych podstawowe pojęcia programowania obiektowego pozostają niezmienne i niezależne od jakiejkolwiek platformy. Początkujący programiści powinni więc poświęcić nieco czasu na zapoznanie się z tymi pojęciami i naukę czegoś, co można nazwać "myśleniem obiektowym w programowaniu".

Ta książka jest kolejnym, poprawionym i uzupełnionym wydaniem wyczerpującego wprowadzenia do programowania zorientowanego obiektowo. Jej głównym celem jest przedstawienie podstaw myślenia obiektowego i najważniejszych pojęć w tym zakresie. Wyjaśniono tu, w jaki sposób poprawnie posługiwać się dziedziczeniem i kompozycją, odróżniać agregację od asocjacji oraz zrozumieć różnice między interfejsem a implementacją. Szczególną uwagę zwrócono na technologie, które przetrwały próbę czasu ostatnich 20 lat i stały się rdzeniem koncepcji programowania obiektowego. Opisano też najważniejsze wzorce projektowe, wskazano techniki unikania zależności i zaprezentowano zasady zwane SOLID, których przestrzeganie pozwala tworzyć kod wysokiej jakości, zrozumiały i elastyczny.

Dzięki tej książce:

  • zrozumiesz podstawowe pojęcia obiektowości
  • zaczniesz myśleć abstrakcyjnie podczas projektowania interfejsów
  • nauczysz się budowy i zasad modelowania klas
  • będziesz tworzyć kod, który będzie się nadawał do wielokrotnego wykorzystania
  • zaczniesz unikać zależności i silnych powiązań między klasami
  • przyswoisz sobie i będziesz stosować zasady SOLID

O autorze 11
Podziękowania 11
Wstęp 13

Rozdział 1. Podstawowe pojęcia obiektowości 17

Podstawowe pojęcia 17
Obiekty a stare systemy 18
Programowanie obiektowe a proceduralne 19
Zamiana podejścia proceduralnego na obiektowe 23
Programowanie proceduralne 23
Programowanie obiektowe 23
Definicja obiektu 24
Dane obiektu 24
Zachowania obiektu 24
Definicja klasy 28
Tworzenie obiektów 28
Atrybuty 30
Metody 30
Komunikaty 30
Modelowanie klas przy użyciu diagramów UML 31
Hermetyzacja i ukrywanie danych 31
Interfejsy 31
Implementacje 32
Realistyczna ilustracja paradygmatu interfejsu i implementacji 33
Model paradygmatu interfejs - implementacja 33
Dziedziczenie 34
Nadklasy i podklasy 35
Abstrakcja 36
Związek typu "jest" 37
Polimorfizm 38
Kompozycja 41
Abstrakcja 41
Związek typu "ma" 41
Podsumowanie 41

Rozdział 2. Myślenie w kategoriach obiektowych 43

Różnica między interfejsem a implementacją 44
Interfejs 46
Implementacja 46
Przykład implementacji i interfejsu 47
Zastosowanie myślenia abstrakcyjnego w projektowaniu interfejsów 51
Minimalizowanie interfejsu 52
Określanie grupy docelowej 53
Zachowania obiektu 54
Ograniczenia środowiska 54
Identyfikowanie publicznych interfejsów 54
Identyfikowanie implementacji 55
Podsumowanie 56
Źródła 56

Rozdział 3. Inne pojęcia z zakresu obiektowości 57

Konstruktory 57
Kiedy wywoływany jest konstruktor 58
Zawartość konstruktora 58
Konstruktor domyślny 58
Zastosowanie wielu konstruktorów 59
Projektowanie konstruktorów 63
Obsługa błędów 63
Ignorowanie problemu 64
Szukanie błędów i kończenie działania programu 64
Szukanie błędów i próba ich naprawienia 64
Zgłaszanie wyjątków 65
Pojęcie zakresu 67
Atrybuty lokalne 67
Atrybuty obiektowe 68
Atrybuty klasowe 70
Przeciążanie operatorów 71
Wielokrotne dziedziczenie 72
Operacje obiektów 73
Podsumowanie 74
Źródła 74

Rozdział 4. Anatomia klasy 75

Nazwa klasy 75
Komentarze 77
Atrybuty 77
Konstruktory 78
Metody dostępowe 80
Metody interfejsu publicznego 83
Prywatne metody implementacyjne 83
Podsumowanie 84
Źródła 84

Rozdział 5. Wytyczne dotyczące projektowania klas 85

Modelowanie systemów świata rzeczywistego 85
Identyfikowanie interfejsów publicznych 86
Minimalizacja interfejsu publicznego 86
Ukrywanie implementacji 87
Projektowanie niezawodnych konstruktorów i destruktorów 88
Projektowanie mechanizmu obsługi błędów w klasie 89
Pisanie dokumentacji i stosowanie komentarzy 89
Tworzenie obiektów nadających się do kooperacji 90
Wielokrotne użycie kodu 90
Rozszerzalność 91
Tworzenie opisowych nazw 91
Wyodrębnianie nieprzenośnego kodu 92
Umożliwianie kopiowania i porównywania obiektów 92
Ograniczanie zakresu 93
Konserwacja kodu 94
Iteracja 94
Testowanie interfejsu 95
Wykorzystanie trwałości obiektów 96
Serializacja i szeregowanie obiektów 97
Podsumowanie 98
Źródła 98

Rozdział 6. Projektowanie z wykorzystaniem obiektów 99

Wytyczne dotyczące projektowania 99
Wykonanie odpowiedniej analizy 103
Określanie zakresu planowanych prac 103
Gromadzenie wymagań 103
Tworzenie prototypu systemu 104
Identyfikowanie klas 104
Definiowanie wymagań wobec każdej z klas 104
Określenie warunków współpracy między klasami 104
Tworzenie modelu klas opisującego system 104
Tworzenie prototypu interfejsu użytkownika za pomocą kodu 105
Obiekty opakowujące 105
Kod strukturalny 106
Opakowywanie kodu strukturalnego 107
Opakowywanie nieprzenośnego kodu 108
Opakowywanie istniejących klas 109
Podsumowanie 110
Źródła 110

Rozdział 7. Dziedziczenie i kompozycja 111

Wielokrotne wykorzystywanie obiektów 111
Dziedziczenie 112
Generalizacja i specjalizacja 115
Decyzje projektowe 116
Kompozycja 118
Reprezentowanie kompozycji na diagramach UML 118
Czemu hermetyzacja jest podstawą technologii obiektowej 120
Jak dziedziczenie osłabia hermetyzację 121
Szczegółowy przykład wykorzystania polimorfizmu 123
Odpowiedzialność obiektów 123
Klasy abstrakcyjne, metody wirtualne i protokoły 126
Podsumowanie 127
Źródła 128

Rozdział 8. Wielokrotne wykorzystanie kodu - interfejsy i klasy abstrakcyjne 129

Wielokrotne wykorzystanie kodu 129
Infrastruktura programistyczna 130
Co to jest kontrakt 132
Klasy abstrakcyjne 133
Interfejsy 135
Wnioski 137
Dowód kompilatora 139
Zawieranie kontraktu 140
Punkty dostępowe do systemu 142
Przykład biznesu elektronicznego 142
Biznes elektroniczny 142
Podejście niezakładające wielokrotnego wykorzystania kodu 143
Rozwiązanie dla aplikacji biznesu elektronicznego 145
Model obiektowy UML 145
Podsumowanie 148
Źródła 148

Rozdział 9. Tworzenie obiektów i projektowanie obiektowe 149

Relacje kompozycji 149
Podział procesu budowy na etapy 151
Rodzaje kompozycji 153
Agregacja 153
Asocjacja 153
Łączne wykorzystanie asocjacji i agregacji 155
Unikanie zależności 155
Liczność 156
Kilka asocjacji 158
Asocjacje opcjonalne 159
Praktyczny przykład 160
Podsumowanie 161
Źródła 161

Rozdział 10. Wzorce projektowe 163

Historia wzorców projektowych 164
Wzorzec MVC języka Smalltalk 165
Rodzaje wzorców projektowych 166
Wzorce konstrukcyjne 167
Wzorzec Metoda Fabryczna 168
Wzorce strukturalne 170
Wzorce czynnościowe 172
Antywzorce 174
Podsumowanie 175
Źródła 175

Rozdział 11. Jak uniknąć zależności i silnych powiązań między klasami 177

Kompozycja a dziedziczenie i wstrzykiwanie zależności 179
1. Dziedziczenie 179
2. Kompozycja 181
Wstrzykiwanie zależności 183
Wstrzykiwanie przez konstruktor 185
Wstrzykiwanie za pomocą metody ustawiającej 185
Podsumowanie 186
Źródła 186

Rozdział 12. Zasady SOLID projektowania obiektowego 187

Zasady SOLID projektowania obiektowego 188
1. Zasada jednej odpowiedzialności - SRP 188
2. Zasada "otwarty/zamknięty" - OCP 191
3. Zasada podstawiania Liskov - LSP 193
4. Zasada segregacji interfejsów - IPS 195
5. Zasada odwrócenia zależności - DIP 196
Podsumowanie 201
Źródła 202

208 stron, Format: 17.0x24.0cm, oprawa miękka

Po otrzymaniu zamówienia poinformujemy pocztą e-mail lub telefonicznie,
czy wybrany tytuł polskojęzyczny lub anglojęzyczny jest aktualnie na półce księgarni.

 
Wszelkie prawa zastrzeżone PROPRESS sp. z o.o. www.bankowa.pl 2000-2020