Kategorie
Ebooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komputer w biurze
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Multimedialne szkolenia
- Nieruchomości
- Perswazja i NLP
- Podatki
- Polityka społeczna
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Raporty, analizy
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
E-prasa
- Architektura i wnętrza
- Biznes i Ekonomia
- Dom i ogród
- E-Biznes
- Finanse
- Finanse osobiste
- Firma
- Fotografia
- Informatyka
- Kadry i płace
- Komputery, Excel
- Księgowość
- Kultura i literatura
- Naukowe i akademickie
- Ochrona środowiska
- Opiniotwórcze
- Oświata
- Podatki
- Podróże
- Psychologia
- Religia
- Rolnictwo
- Rynek książki i prasy
- Transport i Spedycja
- Zdrowie i uroda
-
Historia
-
Informatyka
- Aplikacje biurowe
- Bazy danych
- Bioinformatyka
- Biznes IT
- CAD/CAM
- Digital Lifestyle
- DTP
- Elektronika
- Fotografia cyfrowa
- Grafika komputerowa
- Gry
- Hacking
- Hardware
- IT w ekonomii
- Pakiety naukowe
- Podręczniki szkolne
- Podstawy komputera
- Programowanie
- Programowanie mobilne
- Serwery internetowe
- Sieci komputerowe
- Start-up
- Systemy operacyjne
- Sztuczna inteligencja
- Technologia dla dzieci
- Webmasterstwo
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poemat
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Podręczniki szkolne
-
Popularnonaukowe i akademickie
- Archeologia
- Bibliotekoznawstwo
- Filmoznawstwo
- Filologia
- Filologia polska
- Filozofia
- Finanse i bankowość
- Geografia
- Gospodarka
- Handel. Gospodarka światowa
- Historia i archeologia
- Historia sztuki i architektury
- Kulturoznawstwo
- Lingwistyka
- Literaturoznawstwo
- Logistyka
- Matematyka
- Medycyna
- Nauki humanistyczne
- Pedagogika
- Pomoce naukowe
- Popularnonaukowa
- Pozostałe
- Psychologia
- Socjologia
- Teatrologia
- Teologia
- Teorie i nauki ekonomiczne
- Transport i spedycja
- Wychowanie fizyczne
- Zarządzanie i marketing
-
Poradniki
-
Poradniki do gier
-
Poradniki zawodowe i specjalistyczne
-
Prawo
- BHP
- Historia
- Kodeks drogowy. Prawo jazdy
- Nauki prawne
- Ochrona zdrowia
- Ogólne, kompendium wiedzy
- Podręczniki akademickie
- Pozostałe
- Prawo budowlane i lokalowe
- Prawo cywilne
- Prawo finansowe
- Prawo gospodarcze
- Prawo gospodarcze i handlowe
- Prawo karne
- Prawo karne. Przestępstwa karne. Kryminologia
- Prawo międzynarodowe
- Prawo międzynarodowe i zagraniczne
- Prawo ochrony zdrowia
- Prawo oświatowe
- Prawo podatkowe
- Prawo pracy i ubezpieczeń społecznych
- Prawo publiczne, konstytucyjne i administracyjne
- Prawo rodzinne i opiekuńcze
- Prawo rolne
- Prawo socjalne, prawo pracy
- Prawo Unii Europejskiej
- Przemysł
- Rolne i ochrona środowiska
- Słowniki i encyklopedie
- Zamówienia publiczne
- Zarządzanie
-
Przewodniki i podróże
- Afryka
- Albumy
- Ameryka Południowa
- Ameryka Środkowa i Północna
- Australia, Nowa Zelandia, Oceania
- Austria
- Azja
- Bałkany
- Bliski Wschód
- Bułgaria
- Chiny
- Chorwacja
- Czechy
- Dania
- Egipt
- Estonia
- Europa
- Francja
- Góry
- Grecja
- Hiszpania
- Holandia
- Islandia
- Litwa
- Łotwa
- Mapy, Plany miast, Atlasy
- Miniprzewodniki
- Niemcy
- Norwegia
- Podróże aktywne
- Polska
- Portugalia
- Pozostałe
- Rosja
- Rumunia
- Słowacja
- Słowenia
- Szwajcaria
- Szwecja
- Świat
- Turcja
- Ukraina
- Węgry
- Wielka Brytania
- Włochy
-
Psychologia
- Filozofie życiowe
- Kompetencje psychospołeczne
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Audiobooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Nieruchomości
- Perswazja i NLP
- Podatki
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
Historia
-
Informatyka
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Popularnonaukowe i akademickie
-
Poradniki
-
Poradniki zawodowe i specjalistyczne
-
Prawo
-
Przewodniki i podróże
-
Psychologia
- Filozofie życiowe
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Kursy video
-
Bazy danych
-
Big Data
-
Biznes, ekonomia i marketing
-
Cyberbezpieczeństwo
-
Data Science
-
DevOps
-
Dla dzieci
-
Elektronika
-
Grafika/Wideo/CAX
-
Gry
-
Microsoft Office
-
Narzędzia programistyczne
-
Programowanie
-
Rozwój osobisty
-
Sieci komputerowe
-
Systemy operacyjne
-
Testowanie oprogramowania
-
Urządzenia mobilne
-
UX/UI
-
Web development
-
Zarządzanie
Podcasty
- Ebooki
- Programowanie
- Inne - Programowanie
- Systemy reaktywne. Wzorce projektowe i ich stosowanie
Szczegóły ebooka
Systemy reaktywne. Wzorce projektowe i ich stosowanie
Roland Kuhn Dr., Brian Hanafee, Jamie Allen
Systemy reaktywne. Wzorce projektowe i ich stosowanie
Uznane duże aplikacje internetowe, takie jak portale społecznościowe, systemy bankowe czy handlowe, działają szybko i niezawodnie. Muszą radzić sobie nawet wtedy, gdy ich niektóre części ulegną awarii. Nie mogą zawieść, gdy będzie z nich korzystać większa liczba użytkowników niż zwykle. Naturalnie, muszą być odporne na różne zagrożenia, a oprócz tego skalowalne i łatwe w rozbudowie. Tym i wielu innym wymaganiom odpowiadają systemy responsywne — które bez względu na okoliczności sprawnie przetwarzają dane wprowadzane przez użytkowników. Pomyślne wdrożenie systemu reaktywnego wymaga jednak nieco innego spojrzenia na tworzenie oprogramowania.
Jakie cechy wyrózniają system reaktywny? O tym mówi tzw. Manifest reaktywny i jego podstawowe 4 postulaty:
- responsywność - system musi reagować na interakcje użytkowników,
- niezawodność - system musi reagować na awarie i być dostępny non stop,
- elastyczność - system musi reagować na zmieniające się obciążenie,
- sterowanie za pomocą komunikatów - system musi reagować na wprowadzane dane.
Niniejsza książka jest wyczerpującym wprowadzeniem do implementacji systemów reaktywnych. Opisano tu filozofię programowania reaktywnego, zasady projektowania aplikacji, wzorce projektowe i ich zastosowanie. Szczegółowo wyjaśniono, jakie problemy można rozwiązywać w ten sposób, a podane przykłady opatrzono pełnymi kodami źródłowymi. Bazując na postulatach Manifestu reaktywnego, przedstawiono metodykę budowy architektury modułowej, zasady tworzenia komunikatów, które sterują tą architekturą, opisano też potrzebne narzędzia i sposób ich wykorzystania. Nie zabrakło informacji o dobrych praktykach programowania i testowaniu aplikacji.
Na pewno do lektury przyda Ci się znajomość podstawowych zagadnień programistycznych i pewne doświadczenie w pracy z systemami rozproszonymi.
Najważniejsze zagadnienia w książce:
- manifest reaktywny i jego postulaty
- hierarchia modułów i przepływy danych
- programowanie funkcyjne i reaktywne
- obsługa awarii
- wzorce projektowe i ich stosowanie
Systemy reaktywne — odpowiedź na wyzwania naszych czasów!
Dr Roland Kuhn jest ekspertem w dziedzinie rozproszonych systemów obliczeniowych. Obronił doktorat w instytucie CERN w Szwajcarii. Później pracował dla Niemieckiej Agencji Kosmicznej. Obecnie tworzy systemy reaktywne.
Brian Hanafee jest głównym architektem systemów w Wells Fargo Bank. Wcześniej tworzył nowe produkty dla Oracle i pisał oprogramowanie do systemów wizyjnych montowanych w hełmach pilotów samolotów wojskowych.
Jamie Allen jest programistą i architektem oprogramowania. Pracuje jako dyrektor techniczny projektu platformy handlowej UCP w Starbucks. Od 2008 r. tworzy w języku Scala reaktywne aplikacje dla klientów na całym świecie.
Przedmowa (13)
Wstęp (15)
Podziękowania (17)
O książce (19)
O autorach (21)
CZĘŚĆ I. WPROWADZENIE (23)
Rozdział 1. System reaktywny? (25)
- 1.1. Anatomia systemu reaktywnego (26)
- 1.2. Problem obciążenia (28)
- 1.3. Problem awarii (29)
- 1.4. Tworzenie responsywnego systemu (30)
- 1.5. Zapobieganie efektowi kuli błota (32)
- 1.6. Integrowanie komponentów niereaktywnych (33)
- 1.7. Podsumowanie (34)
Rozdział 2. Przegląd Manifestu reaktywnego (35)
- 2.1. Reagowanie systemu na interakcje użytkowników (35)
- 2.1.1. Podejście tradycyjne (36)
- 2.1.2. Analiza czasu odpowiedzi współdzielonego zasobu (38)
- 2.1.3. Ograniczanie maksymalnego czasu odpowiedzi za pomocą kolejki (39)
- 2.2. Analiza paralelizmu (41)
- 2.2.1. Skrócenie czasu odpowiedzi z wykorzystaniem paralelizmu (41)
- 2.2.2. Usprawnianie paralelizmu za pomocą komponowanych futur (43)
- 2.2.3. Cena szeregowej iluzji (44)
- 2.3. Ograniczenia paralelizmu (46)
- 2.3.1. Prawo Amdahla (46)
- 2.3.2. Uniwersalne prawo skalowalności (47)
- 2.4. Obsługa awarii (48)
- 2.4.1. Rozczłonkowywanie i grodzenie (50)
- 2.4.2. Bezpieczniki (51)
- 2.4.3. Nadzorowanie usług (53)
- 2.5. Utrata wysokiej spójności danych (54)
- 2.5.1. ACID 2.0 (56)
- 2.5.2. Odbieranie zmian (57)
- 2.6. Wzorce projektowania reaktywnego (58)
- 2.6.1. Zarządzanie złożonością oprogramowania (59)
- 2.6.2. Przystosowanie modeli programistycznych do rzeczywistości (60)
- 2.7. Podsumowanie (61)
Rozdział 3. Narzędzia (63)
- 3.1. Pierwsze rozwiązania reaktywne (63)
- 3.2. Programowanie funkcyjne (65)
- 3.2.1. Niezmienność (66)
- 3.2.2. Przejrzystość referencyjna (68)
- 3.2.3. Efekty uboczne (69)
- 3.2.4. Funkcje pierwszej klasy (70)
- 3.3. Responsywność dla użytkowników (70)
- 3.3.1. Ustalanie priorytetów cech wydajnościowych (71)
- 3.4. Dostępne narzędzia reaktywne (72)
- 3.4.1. Zielone wątki (72)
- 3.4.2. Pętle zdarzeń (73)
- 3.4.3. Język CSP (74)
- 3.4.4. Futury i promesy (76)
- 3.4.5. Rozszerzenia reaktywne (80)
- 3.4.6. Model Aktor (82)
- 3.5. Podsumowanie (86)
CZĘŚĆ II. FILOZOFIA REAKTYWNOŚCI W PIGUŁCE (87)
Rozdział 4. Przesyłanie komunikatów (89)
- 4.1. Komunikaty (89)
- 4.2. Pionowa skalowalność aplikacji (90)
- 4.3. Sterowanie zdarzeniami i komunikatami (91)
- 4.4. Synchroniczne i asynchroniczne przesyłanie komunikatów (93)
- 4.5. Sterowanie przepływem danych (95)
- 4.6. Gwarancja dostarczania komunikatów (97)
- 4.7. Zdarzenia jako komunikaty (100)
- 4.8. Synchroniczne przesyłanie komunikatów (101)
- 4.9. Podsumowanie (102)
Rozdział 5. Przezroczystość lokalizacji (103)
- 5.1. Czym jest przezroczystość lokalizacji? (103)
- 5.2. Błędne wyobrażenia o przezroczystości wywołań (104)
- 5.3. Ratunek w jawnym przesyłaniu komunikatów (105)
- 5.4. Optymalizacja lokalnego przekazywania komunikatów (107)
- 5.5. Utraty komunikatów (107)
- 5.6. Pozioma skalowalność aplikacji (109)
- 5.7. Przezroczystość lokalizacji upraszcza testy (110)
- 5.8. Dynamiczne komponowanie systemu (111)
- 5.9. Podsumowanie (112)
Rozdział 6. Dziel i rządź (113)
- 6.1. Hierarchiczna struktura problemu (114)
- 6.1.1. Tworzenie hierarchii modułów (114)
- 6.2. Zależności i moduły pochodne (115)
- 6.2.1. Zapobieganie powstawaniu matryc (116)
- 6.3. Budowanie własnej ogromnej korporacji (118)
- 6.4. Zalety precyzyjnej specyfikacji i testów (119)
- 6.5. Skalowalność pozioma i pionowa aplikacji (120)
- 6.6. Podsumowanie (121)
Rozdział 7. Strukturalna obsługa awarii (123)
- 7.1. Własność oznacza zobowiązanie (123)
- 7.2. Własność określa kontrolę cyklu życia modułu (125)
- 7.3. Odporność na awarie na wszystkich poziomach (127)
- 7.4. Podsumowanie (127)
Rozdział 8. Rozdzielona spójność danych (129)
- 8.1. Ratunek w niezależnych modułach (130)
- 8.2. Grupowanie danych i transakcji (131)
- 8.3. Modelowanie przepływów danych ponad granicami transakcyjnymi (131)
- 8.4. Jednostka awaryjności = jednostka spójności (133)
- 8.5. Segregacja odpowiedzialności (133)
- 8.6. Utrzymywanie odizolowanych zakresów spójności (135)
- 8.7. Podsumowanie (136)
Rozdział 9. Niedeterminizm na życzenie (137)
- 9.1. Programowanie logiczne i deklaratywny przepływ danych (137)
- 9.2. Reaktywne programowanie funkcyjne (139)
- 9.3. Współdzielenie niczego upraszcza równoległość operacji (140)
- 9.4. Współdzielenie stanu i równoległość (141)
- 9.5. Co zatem powinniśmy robić? (141)
- 9.6. Podsumowanie (143)
Rozdział 10. Przepływ danych (145)
- 10.1. Wysyłanie danych (145)
- 10.2. Modelowanie procesów w domenie (147)
- 10.3. Określanie ograniczeń odporności na awarie (147)
- 10.4. Szacowanie ilości komunikatów i skali wdrożenia (148)
- 10.5. Planowanie sterowania przepływami (149)
- 10.6. Podsumowanie (149)
CZĘŚĆ III. WZORCE (151)
Rozdział 11. Testy aplikacji reaktywnych (153)
- 11.1. Jak testować aplikacje? (153)
- 11.1.1. Testy jednostkowe (154)
- 11.1.2. Testy komponentów (155)
- 11.1.3. Testy łańcuchowe (155)
- 11.1.4. Testy integracyjne (155)
- 11.1.5. Testy akceptacyjne (156)
- 11.1.6. Testy czarnej i białej skrzynki (156)
- 11.2. Środowisko testowe (157)
- 11.3. Testy asynchroniczne (158)
- 11.3.1. Blokujące odbiorniki komunikatów (159)
- 11.3.2. Sztuka doboru czasu oczekiwania (161)
- 11.3.3. Wykrywanie braku komunikatów (167)
- 11.3.4. Tworzenie synchronicznych kodów wykonawczych (168)
- 11.3.5. Asercje asynchroniczne (170)
- 11.3.6. Testy w pełni asynchroniczne (170)
- 11.3.7. Wykrywanie braku błędów asynchronicznych (173)
- 11.4. Testowanie systemów niedeterministycznych (176)
- 11.4.1. Problem z planowaniem wykonywania testów (176)
- 11.4.2. Testowanie komponentów rozproszonych (176)
- 11.4.3. Aktorzy imitacyjni (177)
- 11.4.4. Komponenty rozproszone (179)
- 11.5. Testowanie elastyczności systemu (179)
- 11.6. Testowanie sprężystości systemu (179)
- 11.6.1. Sprężystość aplikacji (180)
- 11.6.2. Sprężystość infrastruktury (183)
- 11.7. Testowanie responsywności systemu (185)
- 11.8. Podsumowanie (186)
Rozdział 12. Wzorce uodporniania na awarie i odtwarzania systemu (187)
- 12.1. Wzorzec Prosty Komponent (187)
- 12.1.1. Opis problemu (188)
- 12.1.2. Stosowanie wzorca (188)
- 12.1.3. Weryfikacja wzorca (190)
- 12.1.4. Kiedy stosować wzorzec? (191)
- 12.2. Wzorzec Jądro Błędu (191)
- 12.2.1. Opis problemu (191)
- 12.2.2. Stosowanie wzorca (192)
- 12.2.3. Weryfikacja wzorca (195)
- 12.2.4. Kiedy stosować wzorzec? (196)
- 12.3. Wzorzec Pozwól Na Awarię (196)
- 12.3.1. Opis problemu (197)
- 12.3.2. Stosowanie wzorca (197)
- 12.3.3. Weryfikacja wzorca (198)
- 12.3.4. Zagadnienia implementacyjne (199)
- 12.3.5. Konkluzja: wzorzec Bicie Serca (200)
- 12.3.6. Konkluzja: wzorzec Proaktywny Sygnał Awaryjny (201)
- 12.4. Wzorzec Bezpiecznik (202)
- 12.4.1. Opis problemu (202)
- 12.4.2. Stosowanie wzorca (203)
- 12.4.3. Weryfikacja wzorca (206)
- 12.4.4. Kiedy stosować wzorzec? (207)
- 12.5. Podsumowanie (207)
Rozdział 13. Wzorce replikacyjne (209)
- 13.1. Wzorzec Replikacja Aktywna-Pasywna (209)
- 13.1.1. Opis problemu (210)
- 13.1.2. Stosowanie wzorca (211)
- 13.1.3. Weryfikacja wzorca (220)
- 13.1.4. Kiedy stosować wzorzec? (221)
- 13.2. Wzorzec Replikacja Wielokrotna-Główna (221)
- 13.2.1. Replikacja oparta na konsensusie (222)
- 13.2.2. Replikacja z wykrywaniem i rozwiązywaniem konfliktów (225)
- 13.2.3. Bezkonfliktowe typy replikowanych danych (226)
- 13.3. Wzorzec Replikacja Aktywna-Aktywna (233)
- 13.3.1. Opis problemu (234)
- 13.3.2. Stosowanie wzorca (235)
- 13.3.3. Weryfikacja wzorca (240)
- 13.3.4. Odniesienie do wirtualnej synchroniczności (241)
- 13.4. Podsumowanie (242)
Rozdział 14. Wzorce zarządzania zasobami (245)
- 14.1. Wzorzec Enkapsulacja Zasobów (245)
- 14.1.1. Opis problemu (246)
- 14.1.2. Stosowanie wzorca (246)
- 14.1.3. Weryfikacja wzorca (252)
- 14.1.4. Kiedy stosować wzorzec? (253)
- 14.2. Wzorzec Wypożyczenie Zasobu (253)
- 14.2.1. Opis problemu (254)
- 14.2.2. Stosowanie wzorca (254)
- 14.2.3. Weryfikacja wzorca (256)
- 14.2.4. Kiedy stosować wzorzec? (257)
- 14.2.5. Zagadnienia implementacyjne (257)
- 14.2.6. Wariant: zastosowanie wzorca Wypożyczenie Zasobu do częściowego udostępniania zasobu (258)
- 14.3. Wzorzec Złożone Polecenie (258)
- 14.3.1. Opis problemu (259)
- 14.3.2. Stosowanie wzorca (260)
- 14.3.3. Weryfikacja wzorca (267)
- 14.3.4. Kiedy stosować wzorzec? (267)
- 14.4. Wzorzec Pula Zasobów (268)
- 14.4.1. Opis problemu (268)
- 14.4.2. Stosowanie wzorca (269)
- 14.4.3. Weryfikacja wzorca (271)
- 14.4.4. Zagadnienia implementacyjne (272)
- 14.5. Wzorzec Zarządzane Blokowanie (272)
- 14.5.1. Opis problemu (273)
- 14.5.2. Stosowanie wzorca (273)
- 14.5.3. Weryfikacja wzorca (276)
- 14.5.4. Kiedy stosować wzorzec? (277)
- 14.6. Podsumowanie (277)
Rozdział 15. Wzorce przepływów komunikatów (279)
- 15.1. Wzorzec Zapytanie-Odpowiedź (280)
- 15.1.1. Opis problemu (280)
- 15.1.2. Stosowanie wzorca (281)
- 15.1.3. Popularne implementacje wzorca (282)
- 15.1.4. Weryfikacja wzorca (287)
- 15.1.5. Kiedy stosować wzorzec? (288)
- 15.2. Wzorzec Samowystarczalny Komunikat (288)
- 15.2.1. Opis problemu (289)
- 15.2.2. Stosowanie wzorca (289)
- 15.2.3. Weryfikacja wzorca (291)
- 15.2.4. Kiedy stosować wzorzec? (292)
- 15.3. Wzorzec Zapytaj (292)
- 15.3.1. Opis problemu (293)
- 15.3.2. Stosowanie wzorca (293)
- 15.3.3. Weryfikacja wzorca (296)
- 15.3.4. Kiedy stosować wzorzec? (297)
- 15.4. Wzorzec Przekaż Przepływ (298)
- 15.4.1. Opis problemu (298)
- 15.4.2. Stosowanie wzorca (298)
- 15.4.3. Weryfikacja wzorca (299)
- 15.4.4. Kiedy stosować wzorzec? (299)
- 15.5. Wzorzec Agregator (300)
- 15.5.1. Opis problemu (300)
- 15.5.2. Stosowanie wzorca (300)
- 15.5.3. Weryfikacja wzorca (304)
- 15.5.4. Kiedy stosować wzorzec? (304)
- 15.6. Wzorzec Saga (304)
- 15.6.1. Opis problemu (305)
- 15.6.2. Stosowanie wzorca (306)
- 15.6.3. Weryfikacja wzorca (307)
- 15.6.4. Kiedy stosować wzorzec? (309)
- 15.7. Wzorzec Biznesowy Uścisk Dłoni (lub Niezawodna Dostawa) (309)
- 15.7.1. Opis problemu (310)
- 15.7.2. Stosowanie wzorca (310)
- 15.7.3. Weryfikacja wzorca (314)
- 15.7.4. Kiedy stosować wzorzec? (315)
- 15.8. Podsumowanie (315)
Rozdział 16. Wzorce sterowania przepływem komunikatów (317)
- 16.1. Wzorzec Pobierz (317)
- 16.1.1. Opis problemu (318)
- 16.1.2. Stosowanie wzorca (318)
- 16.1.3. Weryfikacja wzorca (320)
- 16.1.4. Kiedy stosować wzorzec? (321)
- 16.2. Wzorzec Zarządzana Kolejka (321)
- 16.2.1. Opis problemu (322)
- 16.2.2. Stosowanie wzorca (322)
- 16.2.3. Weryfikacja wzorca (323)
- 16.2.4. Kiedy stosować wzorzec? (324)
- 16.3. Wzorzec Pomiń (324)
- 16.3.1. Opis problemu (324)
- 16.3.2. Stosowanie wzorca (325)
- 16.3.3. Weryfikacja wzorca (327)
- 16.3.4. Kiedy stosować wzorzec? (329)
- 16.4. Wzorzec Dławik (330)
- 16.4.1. Opis problemu (330)
- 16.4.2. Stosowanie wzorca (330)
- 16.4.3. Weryfikacja wzorca (333)
- 16.5. Podsumowanie (333)
Rozdział 17. Wzorce zarządzania i zapisywania stanów (335)
- 17.1. Wzorzec Obiekt Domenowy (336)
- 17.1.1. Opis problemu (336)
- 17.1.2. Stosowanie wzorca (336)
- 17.1.3. Weryfikacja wzorca (339)
- 17.2. Wzorzec Odłamkowanie (340)
- 17.2.1. Opis problemu (340)
- 17.2.2. Stosowanie wzorca (340)
- 17.2.3. Weryfikacja wzorca (342)
- 17.2.4. Ważna uwaga (342)
- 17.3. Wzorzec Źródło Zdarzeń (343)
- 17.3.1. Opis problemu (343)
- 17.3.2. Stosowanie wzorca (343)
- 17.3.3. Weryfikacja wzorca (345)
- 17.3.4. Kiedy stosować wzorzec? (345)
- 17.4. Wzorzec Strumień Zdarzeń (346)
- 17.4.1. Opis problemu (347)
- 17.4.2. Stosowanie wzorca (347)
- 17.4.3. Weryfikacja wzorca (349)
- 17.4.4. Kiedy stosować wzorzec? (349)
- 17.5. Podsumowanie (350)
DODATKI
Dodatek A. Tworzenie diagramów systemów reaktywnych (353)
Dodatek B. Zilustrowany przykład (355)
- B.1. Partycje geograficzne (355)
- B.2. Planowanie przepływu informacji (357)
- B.2.1. Krok 1.: odbieranie danych (358)
- B.2.2. Krok 2.: przesyłanie danych do odpowiedniego węzła (358)
- B.2.3. Krok 3.: relokacja i efektywne odczytywanie danych (359)
- B.2.4. Bilans (362)
- B.3. Co będzie w przypadku awarii? (362)
- B.3.1. Awaria klienta (363)
- B.3.2. Awaria łącza sieciowego (364)
- B.3.3. Awaria węzła wejściowego dla danych (364)
- B.3.4. Awaria łącza sieciowego między punktem wejścia danych a kwadratem mapy (364)
- B.3.5. Awaria węzła z kwadratami mapy (365)
- B.3.6. Awaria komponentu kwadratu sumarycznego (366)
- B.3.7. Awaria łącza pomiędzy kwadratami mapy (366)
- B.3.8. Awaria węzła z widokami map (366)
- B.3.9. Podsumowanie obsługi awarii (366)
- B.4. Czego nauczyliśmy się z tego przykładu? (367)
- B.5. Co dalej? (368)
Dodatek C. Manifest reaktywny (369)
- C.1. Główna treść (369)
- C.2. Glosariusz (371)
- C.2.1. Asynchronizm (371)
- C.2.2. Ciśnienie wsteczne (371)
- C.2.3. Przetwarzanie wsadowe (371)
- C.2.4. Komponent (372)
- C.2.5. Delegowanie (372)
- C.2.6. Elastyczność (372)
- C.2.7. Awaria (373)
- C.2.8. Izolacja (373)
- C.2.9. Przezroczystość lokalizacji (374)
- C.2.10. Sterowanie komunikatami (374)
- C.2.11. Algorytm nieblokujący (375)
- C.2.12. Protokół (375)
- C.2.13. Replikacja (375)
- C.2.14. Zasób (375)
- C.2.15. Skalowalność (376)
- C.2.16. System (376)
- C.2.17. Użytkownik (376)
Skorowidz (377)
- Tytuł: Systemy reaktywne. Wzorce projektowe i ich stosowanie
- Autor: Roland Kuhn Dr., Brian Hanafee, Jamie Allen
- Tytuł oryginału: Reactive Design Patterns
- Tłumaczenie: Andrzej Watrak
- ISBN: 978-83-283-3796-1, 9788328337961
- Data wydania: 2018-02-12
- Format: Ebook
- Identyfikator pozycji: sysrea
- Wydawca: Helion