Mistrzowski JavaScript. Programowanie zorientowane obiektowo - Helion
Tytuł oryginału: Mastering JavaScript Object-Oriented Programming
Tłumaczenie: Łukasz Piwko
ISBN: 978-83-283-3198-3
stron: 264, Format: 170x230, okładka: miękka
Data wydania: 2017-04-14
Księgarnia: Helion
Cena książki: 31,85 zł (poprzednio: 49,00 zł)
Oszczędzasz: 35% (-17,15 zł)
JavaScript jest popularnym, rozwiniętym i dojrzałym językiem programowania, a jego zastosowanie znacząco wykracza dziś poza WWW, HTML i CSS: skrypty można uruchamiać na serwerze, komputerach PC, w urządzeniach przenośnych i układach wbudowanych. Dzięki tym możliwościom JavaScript stał się potężnym i wszechstronnym narzędziem. Co więcej, ten język świetnie nadaje się do programowania zorientowanego obiektowo i pozwala na pisanie solidnego kodu, a w efekcie na tworzenie nawet bardzo złożonych, skalowalnych i łatwych w utrzymaniu aplikacji.
Niniejsza książka jest przeznaczona dla osób, które mniej więcej znają JavaScript, ale chcą się nauczyć programować obiektowo w tym języku. Można tu znaleźć informacje o definiowaniu obiektów za pomocą klas ES6, metodach hermetyzacji oraz różnych sposobach dziedziczenia. Są tu niektóre zaawansowane wzorce projektowe i opis wykorzystania mechanizmu obietnic do pracy z procesami asynchronicznymi. Nie zabrakło również wyjaśnień zasad SOLID, dzięki którym tworzony kod staje się efektywny i niezawodny.
Niektóre zagadnienia omówione w książce:
- podstawy programowania obiektowego w JavaScripcie
- techniki imitacji klasycznych interfejsów obiektowych
- modele prezentacyjne: MVC i MVVM
- programowanie asynchroniczne
- porządkowanie kodu źródłowego — moduły ECMAScript 6
- rodzaje architektury aplikacji w JavaScript, wzorce fasada i mediator
JavaScript — pisz skrypty do zadań specjalnych!
Andrea Chiarelli — jest ekspertem programowania w różnych technologiach (C#, JavaScript, ASP.NET czy AngularJS, REST i PhoneGap/Cordova), a także autorem i współautorem licznych książek o programowaniu. Poza tym regularnie pisuje do takich magazynów, jak „Computer Programming” czy „ASP Today”. Pracuje na stanowisku starszego inżyniera oprogramowania we włoskim oddziale Apparound Inc., firmy, która urodziła się w samym sercu Doliny Krzemowej.
Osoby które kupowały "Mistrzowski JavaScript. Programowanie zorientowane obiektowo", wybierały także:
- D3.js w akcji 67,42 zł, (20,90 zł -69%)
- Tablice informatyczne. Node.js 16,86 zł, (5,90 zł -65%)
- React i GatsbyJS. Kurs video. Nowoczesne strony internetowe w oparciu o headless CMS i GraphQL 148,98 zł, (59,59 zł -60%)
- TypeScript i React. Kurs video. Tworzenie nowoczesnych komponent 129,00 zł, (51,60 zł -60%)
- Vue.js w praktyce. Kurs video. Poznaj narz 148,98 zł, (59,59 zł -60%)
Spis treści
Mistrzowski JavaScript. Programowanie zorientowane obiektowo -- spis treści
O autorze (7)
O recenzencie (9)
Wstęp (11)
Rozdział 1. Odświeżenie wiadomości o obiektach (15)
- Literały obiektowe (15)
- Konstruktory obiektów (19)
- Prototypy obiektów (23)
- Klasy (25)
- Podsumowanie (27)
Rozdział 2. Zasady programowania obiektowego (29)
- Zasady programowania obiektowego (30)
- Czy JavaScript to obiektowy język programowania? (31)
- Narzędzia abstrakcji i modelowania (31)
- Przestrzeganie zasad obiektowości (34)
- Obiektowość JavaScriptu a obiektowość klasyczna (42)
- Podsumowanie (43)
Rozdział 3. Hermetyzacja i ukrywanie informacji (45)
- Hermetyzacja i ukrywanie informacji (45)
- Podejście konwencjonalne (46)
- Określanie prywatności za pomocą domknięć (47)
- Metadomknięcia (52)
- Deskryptory własności (58)
- Ukrywanie informacji w klasach ES6 (66)
- Podsumowanie (68)
Rozdział 4. Dziedziczenie i domieszki (69)
- Zalety dziedziczenia (69)
- Obiekty i prototypy (70)
- Dziedziczenie w ES6 (76)
- Kontrolowanie dziedziczenia (78)
- Implementacja wielodziedziczenia (85)
- Tworzenie i używanie domieszek (86)
- Podsumowanie (90)
Rozdział 5. Definiowanie kontraktów i kacze typizowanie (91)
- Dynamiczna kontrola typów (91)
- Kontrakty i interfejsy (97)
- Kacze typizowanie (98)
- Kacze typizowanie i polimorfizm (107)
- Podsumowanie (109)
Rozdział 6. Zaawansowane techniki tworzenia obiektów (111)
- Tworzenie obiektów (111)
- Wzorce projektowe i tworzenie obiektów (113)
- Tworzenie singletonu (113)
- Fabryka obiektów (117)
- Wzorzec Budowniczy (124)
- Porównanie wzorców Fabryka i Budowniczy (127)
- Recykling obiektów z puli (127)
- Podsumowanie (130)
Rozdział 7. Prezentowanie danych użytkownikowi (133)
- Interfejsy użytkownika (133)
- Wzorce prezentacyjne (136)
- Wzorzec Model-Widok-Kontroler (137)
- Wzorzec Model-Widok-Prezenter (143)
- Wzorzec Model-Widok-ModelWidoku (147)
- Porównanie wzorców MV* (152)
- Podsumowanie (153)
Rozdział 8. Wiązanie danych (155)
- Czym jest wiązanie danych? (155)
- Implementacja wiązania danych (157)
- Wzorce Obserwator i Publikacja-Subskrypcja (163)
- Obiekty pośrednie (167)
- Podsumowanie (170)
Rozdział 9. Programowanie asynchroniczne i obietnice (171)
- Czy JavaScript to język asynchroniczny? (171)
- Pisanie kodu asynchronicznego (173)
- Wprowadzenie do obietnic (180)
- Generatory (190)
- Podsumowanie (193)
Rozdział 10. Organizacja kodu (195)
- Zakres globalny (195)
- Tworzenie przestrzeni nazw (197)
- Moduły (200)
- Ładowanie modułów (207)
- Moduły standardu ECMAScript 6 (217)
- Podsumowanie (220)
Rozdział 11. Zasady SOLID (221)
- Obiektowe zasady projektowania (221)
- Zasada pojedynczej odpowiedzialności (222)
- Zasada otwarte/zamknięte (226)
- Zasada podstawiania Liskov (230)
- Zasada segregacji interfejsów (232)
- Zasada odwrócenia zależności (234)
- Podsumowanie (240)
Rozdział 12. Nowoczesne architektury aplikacji (243)
- Od skryptów do aplikacji (244)
- Aplikacje klasyczne i jednostronicowe (246)
- Architektura Zakasa-Osmaniego (249)
- Funkcje przekrojowe i AOP (256)
- Aplikacje izomorficzne (258)
- Podsumowanie (259)
Skorowidz (261)