Mistrzowski JavaScript Programowanie zorientowane obiektowo.pdf

(1177 KB) Pobierz
Tytuł oryginału: Mastering JavaScript Object-Oriented Programming
Tłumaczenie: Łukasz Piwko
ISBN: 978-83-283-3198-3
Copyright © 2016 Packt Publishing
First published in the English language under the title ‘Mastering JavaScript Object-Oriented Programming
(9781785889103)’.
Polish edition copyright © 2017 by Helion SA
All rights reserved.
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)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/misjsp.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/misjsp
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
O autorze
O recenzencie
Wstęp
Rozdział 1. Odświeżenie wiadomości o obiektach
Literały obiektowe
Konstruktory obiektów
Prototypy obiektów
Klasy
Podsumowanie
7
9
11
15
15
19
23
25
27
Rozdział 2. Zasady programowania obiektowego
Zasady programowania obiektowego
Czy JavaScript to obiektowy język programowania?
Narzędzia abstrakcji i modelowania
Przestrzeganie zasad obiektowości
Obiektowość JavaScriptu a obiektowość klasyczna
Podsumowanie
29
30
31
31
34
42
43
Rozdział 3. Hermetyzacja i ukrywanie informacji
Hermetyzacja i ukrywanie informacji
Podejście konwencjonalne
Określanie prywatności za pomocą domknięć
Metadomknięcia
Deskryptory własności
Ukrywanie informacji w klasach ES6
Podsumowanie
45
45
46
47
52
58
66
68
Kup książkę
Poleć książkę
Spis treści
Rozdział 4. Dziedziczenie i domieszki
Zalety dziedziczenia
Obiekty i prototypy
Dziedziczenie w ES6
Kontrolowanie dziedziczenia
Implementacja wielodziedziczenia
Tworzenie i używanie domieszek
Podsumowanie
69
69
70
76
78
85
86
90
Rozdział 5. Definiowanie kontraktów i kacze typizowanie
Dynamiczna kontrola typów
Kontrakty i interfejsy
Kacze typizowanie
Kacze typizowanie i polimorfizm
Podsumowanie
91
91
97
98
107
109
Rozdział 6. Zaawansowane techniki tworzenia obiektów
Tworzenie obiektów
Wzorce projektowe i tworzenie obiektów
Tworzenie singletonu
Fabryka obiektów
Wzorzec Budowniczy
Porównanie wzorców Fabryka i Budowniczy
Recykling obiektów z puli
Podsumowanie
111
111
113
113
117
124
127
127
130
Rozdział 7. Prezentowanie danych użytkownikowi
Interfejsy użytkownika
Wzorce prezentacyjne
Wzorzec Model-Widok-Kontroler
Wzorzec Model-Widok-Prezenter
Wzorzec Model-Widok-ModelWidoku
Porównanie wzorców MV*
Podsumowanie
133
133
136
137
143
147
152
153
Rozdział 8. Wiązanie danych
Czym jest wiązanie danych?
Implementacja wiązania danych
Wzorce Obserwator i Publikacja-Subskrypcja
Obiekty pośrednie
Podsumowanie
155
155
157
163
167
170
4
Kup książkę
Poleć książkę
Spis treści
Rozdział 9. Programowanie asynchroniczne i obietnice
Czy JavaScript to język asynchroniczny?
Pisanie kodu asynchronicznego
Wprowadzenie do obietnic
Generatory
Podsumowanie
171
171
173
180
190
193
Rozdział 10. Organizacja kodu
Zakres globalny
Tworzenie przestrzeni nazw
Moduły
Ładowanie
modułów
Moduły standardu ECMAScript 6
Podsumowanie
195
195
197
200
207
217
220
Rozdział 11. Zasady SOLID
Obiektowe zasady projektowania
Zasada pojedynczej odpowiedzialności
Zasada otwarte/zamknięte
Zasada podstawiania Liskov
Zasada segregacji interfejsów
Zasada odwrócenia zależności
Podsumowanie
221
221
222
226
230
232
234
240
Rozdział 12. Nowoczesne architektury aplikacji
Od skryptów do aplikacji
Aplikacje klasyczne i jednostronicowe
Architektura Zakasa-Osmaniego
Funkcje przekrojowe i AOP
Aplikacje izomorficzne
Podsumowanie
243
244
246
249
256
258
259
Skorowidz
261
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin