JavaScript i wzorce projektowe. Programowanie dla zaawansowanych. Wydanie II - ebook
JavaScript i wzorce projektowe. Programowanie dla zaawansowanych. Wydanie II - ebook
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.
Spis treści
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)
Kategoria: | Webmaster |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-3195-2 |
Rozmiar pliku: | 4,6 MB |