Деталі електронної книги

JavaScript i wzorce projektowe. Programowanie dla zaawansowanych. Wydanie II

JavaScript i wzorce projektowe. Programowanie dla zaawansowanych. Wydanie II

Simon Timms

Завантаження...
EЛЕКТРОННА КНИГА
Завантаження...

JavaScript przez mnóstwo lat był wykorzystywany głównie jako technika uzupełniania podstawowej funkcjonalności stron internetowych. Dziś to się zmienia: JavaScript należy do najpopularniejszych języków i jest wykorzystywany na wiele sposobów. Wzorce projektowe to jedna z ciekawszych możliwości: dzięki nim programista bierze pod uwagę sprawdzone rozwiązania.

Niniejsza książka jest przeznaczona dla osób używających JavaScriptu, które chcą nauczyć się programowania obiektowego w tym języku, a także dobrze poznać standard ECMAScript 2015. Przedstawiono tu wzorce kreacyjne, strukturalne i operacyjne oraz metody ich stosowania. Przeanalizowano wzorce widoku modelu i wzorce do budowy aplikacji internetowych. Obszernie omówiono mikrousługi, a także wzorce do testowania kodu za pomocą atrap obiektów i środowisk atrap obiektów oraz techniki monkey patching. Opisano też kilka wzorców zaawansowanych, w tym wzorzec wprowadzania zależności i przetwarzania końcowego w czasie rzeczywistym.

Najważniejsze zagadnienia omówione w książce:

  • czym są wzorce projektowe i jak należy organizować kod
  • poszczególne grupy wzorców projektowych i ich zastosowanie
  • programowanie funkcyjne i reaktywne
  • programowanie aspektowe
  • inne narzędzia zgodne ze standardem ECMAScript 2015/2016

Wzorce projektowe — niezbędne w przyborniku programisty!


Simon Timms — jest głównym projektantem oprogramowania w firmie Clear-Measure w Austin, w Teksasie. Jest ekspertem w dziedzinie technologii serwerowych .NET, interesuje się wizualizacjami i przetwarzaniem w chmurze. Angażuje się w rozwijanie metodyki DevOps. Często wypowiada się na jej temat w ramach grupy Calgary.Net, której jest przewodniczącym.

O autorze (11)

O recenzencie (12)

Przedmowa (13)

Rozdział 1. Projektowanie dla przyjemności i zysku (17)

  • Droga do powstania języka JavaScript (17)
    • Początki (18)
    • Przerwa (21)
    • Pojawienie się aplikacji GMail (21)
    • Wszechobecność języka JavaScript (23)
  • Czym jest wzorzec projektowy? (25)
  • Antywzorce (28)
  • Podsumowanie (29)

CZĘŚĆ I. KLASYCZNE WZORCE PROJEKTOWE (31)

Rozdział 2. Organizacja kodu (33)

  • Porcje kodu (33)
  • O co tak w ogóle chodzi z zasięgiem globalnym? (35)
  • Obiekty w języku JavaScript (37)
  • Tworzenie prototypu (41)
  • Dziedziczenie (44)
  • Moduły (45)
  • Klasy i moduły standardu ECMAScript 2015 (49)
  • Najlepsze procedury i rozwiązywanie problemów (50)
  • Podsumowanie (50)

Rozdział 3. Wzorce kreacyjne (53)

  • Fabryka abstrakcyjna (54)
    • Implementacja (58)
  • Budowniczy (60)
    • Implementacja (61)
  • Metoda wytwórcza (63)
    • Implementacja (63)
  • Singleton (66)
    • Implementacja (67)
    • Mankamenty (68)
  • Prototyp (68)
    • Implementacja (69)
  • Wskazówki i zabiegi (70)
  • Podsumowanie (70)

Rozdział 4. Wzorce strukturalne (73)

  • Adapter (73)
    • Implementacja (75)
  • Most (77)
    • Implementacja (78)
  • Kompozyt (81)
    • Przykład (82)
    • Implementacja (83)
  • Dekorator (85)
    • Implementacja (86)
  • Fasada (87)
    • Implementacja (87)
  • Pyłek (89)
    • Implementacja (90)
  • Pełnomocnik (91)
    • Implementacja (92)
  • Rady i wskazówki (93)
  • Podsumowanie (94)

Rozdział 5. Wzorce operacyjne (95)

  • Łańcuch odpowiedzialności (96)
    • Implementacja (96)
  • Polecenie (100)
    • Komunikat polecenia (100)
    • Element wywołujący (Invoker) (102)
    • Element odbierający (Receiver) (103)
  • Interpreter (103)
    • Przykład (104)
    • Implementacja (104)
  • Iterator (106)
    • Implementacja (106)
    • Iteratory standardu ECMAScript 2015 (107)
  • Mediator (108)
    • Implementacja (109)
  • Memento (110)
    • Implementacja (111)
  • Obserwator (113)
    • Implementacja (114)
  • Stan (116)
    • Implementacja (117)
  • Strategia (119)
    • Implementacja (121)
  • Metoda szablonowa (123)
    • Implementacja (124)
  • Odwiedzający (125)
  • Rady i wskazówki (129)
  • Podsumowanie (130)

CZĘŚĆ II. INNE WZORCE (131)

Rozdział 6. Programowanie funkcyjne (133)

  • Funkcje w programowaniu funkcyjnym są pozbawione efektów ubocznych (134)
  • Przekazywanie funkcji (134)
    • Implementacja (136)
  • Filtry i potoki (138)
    • Implementacja (139)
  • Akumulatory (141)
    • Implementacja (142)
  • Zapamiętywanie (142)
    • Implementacja (143)
  • Niezmienność (145)
  • "Leniwe" tworzenie instancji (146)
    • Implementacja (146)
  • Rady i wskazówki (148)
  • Podsumowanie (149)

Rozdział 7. Programowanie reaktywne (151)

  • Zmiany stanu aplikacji (152)
  • Strumienie (152)
  • Filtrowanie strumieni (155)
  • Scalanie strumieni (157)
  • Strumienie powiązane z multipleksowaniem (159)
  • Rady i wskazówki (160)
  • Podsumowanie (160)

Rozdział 8. Wzorce aplikacji (161)

  • Najpierw trochę historii (162)
  • Model View Controller (162)
    • Kod oparty na wzorcu MVC (167)
  • Model View Presenter (171)
    • Kod oparty na wzorcu MVP (172)
  • Model View ViewModel (174)
    • Kod oparty na wzorcu MVVM (176)
    • Lepszy sposób przenoszenia zmian między modelem i widokiem (177)
    • Obserwacja zmian widoku (179)
  • Rady i wskazówki (180)
  • Podsumowanie (180)

Rozdział 9. Wzorce internetowe (181)

  • Wysyłanie kodu JavaScript (181)
    • Łączenie plików (182)
    • Minifikacja (185)
    • Sieci CDN (186)
  • Dodatki (187)
    • Biblioteka jQuery (187)
    • Biblioteka d3 (189)
  • Jednoczesne realizowanie dwóch działań - wielowątkowość (192)
  • Wzorzec Wyłącznik (194)
    • Wycofanie (195)
    • Ograniczanie funkcjonalności aplikacji (196)
  • Wzorzec obiektów Promise (197)
  • Rady i wskazówki (199)
  • Podsumowanie (200)

Rozdział 10. Wzorce przesyłania komunikatów (201)

  • Czym w ogóle jest komunikat? (202)
    • Polecenia (203)
    • Zdarzenia (204)
  • Żądanie-odpowiedź (206)
  • Publikowanie-subskrybowanie (209)
    • Rozprzestrzenianie (212)
  • Kolejki utraconych wiadomości (215)
    • Ponawianie komunikatu (216)
    • Potoki i filtry (217)
    • Tworzenie wersji komunikatów (218)
  • Rady i wskazówki (219)
  • Podsumowanie (220)

Rozdział 11. Mikrousługi (221)

  • Fasada (223)
  • Selektor usługi (224)
  • Usługi agregujące (225)
  • Potok (226)
  • Aktualizator komunikatów (227)
  • Wzorce niepowodzeń (229)
    • Ograniczanie funkcjonalności usługi (229)
    • Magazyn komunikatów (229)
    • Ponawianie komunikatów (230)
    • Idempotentność obsługi komunikatów (231)
  • Rady i wskazówki (231)
  • Podsumowanie (232)

Rozdział 12. Wzorce używane do testowania (233)

  • Piramida testowania (234)
  • Testowanie po trochę za pomocą testów jednostkowych (234)
  • Technika Arrange-Act-Assert (236)
    • Asercja (237)
  • Obiekty fałszywe (237)
  • Szpiedzy testów (239)
  • Elementy zastępcze (240)
  • Atrapa obiektu (242)
  • Technika monkey patching (243)
  • Interakcja z interfejsem użytkownika (243)
    • Testowanie przy użyciu przeglądarki (243)
    • Oszukiwanie modelu DOM (244)
    • Opakowywanie operacji modyfikowania (245)
  • Rady i wskazówki (246)
  • Podsumowanie (247)

Rozdział 13. Wzorce zaawansowane (249)

  • Wprowadzanie zależności (249)
  • Przetwarzanie końcowe w czasie rzeczywistym (253)
  • Programowanie aspektowe (255)
  • Kody mixin (257)
  • Makra (258)
  • Rady i wskazówki (260)
  • Podsumowanie (260)

Rozdział 14. ECMAScript 2015/2016 - obecne rozwiązania (261)

  • TypeScript (261)
    • Dekoratory (262)
    • Słowa kluczowe async i await (263)
    • Typowanie (264)
  • BabelJS (265)
    • Klasy (267)
    • Parametry domyślne (269)
    • Literały szablonu (270)
    • Powiązania bloków za pomocą słowa kluczowego let (271)
    • Środowisko produkcyjne (272)
  • Rady i wskazówki (272)
  • Podsumowanie (272)

Skorowidz (275)

  • Назва:JavaScript i wzorce projektowe. Programowanie dla zaawansowanych. Wydanie II
  • Автор:Simon Timms
  • Оригінальна назва:Mastering JavaScript Design Patterns, Second Edition
  • Переклад:Piotr Pilch
  • ISBN:978-83-283-3195-2, 9788328331952
  • Дата видання:2017-05-19
  • Формат:Eлектронна книга
  • Ідентифікатор видання: jswpz2
  • Видавець: Helion
Завантаження...
Завантаження...