Szczegóły ebooka

Mistrzowski JavaScript. Programowanie zorientowane obiektowo

Mistrzowski JavaScript. Programowanie zorientowane obiektowo

Andrea Chiarelli

Ebook
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.

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)

  • Tytuł: Mistrzowski JavaScript. Programowanie zorientowane obiektowo
  • Autor: Andrea Chiarelli
  • Tytuł oryginału: Mastering JavaScript Object-Oriented Programming
  • Tłumaczenie: Łukasz Piwko
  • ISBN: 978-83-283-3199-0, 9788328331990
  • Data wydania: 2017-04-14
  • Format: Ebook
  • Identyfikator pozycji: misjsp
  • Wydawca: Helion