Spis treści
Wprowadzenie
Dla kogo jest ta książka?
Wiemy, co myślisz
Wiemy, co myśli Twój mózg
Metapoznanie – myślenie o myśleniu
Oto co MY zrobiliśmy
To, co TY możesz zrobić, aby zmusić swój mózg do posłuszeństwa
Przeczytaj to
Rozdziały „zrób to sam”
Zespół recenzentów technicznych
Wspólne podziękowania
Indywidualne podziękowania
1. Architektura oprogramowania bez tajemnic. Zaczynajmy!
Budowanie zrozumienia architektury oprogramowania
Plan budynku i architektura oprogramowania
Wymiary architektury oprogramowania
Rozgryzanie wymiarów
Pierwszy wymiar: cechy architektury
Drugi wymiar: decyzje architektoniczne
Trzeci wymiar: komponenty logiczne
Czwarty wymiar: style architektury
Z punktu widzenia projektu
Z punktu widzenia architektury
Spektrum pomiędzy architekturą a projektem
W którym miejscu spektrum wypada Twoja decyzja?
Strategiczna czy taktyczna
Wysoki czy niski nakład pracy
Kompromisy znaczące i mniej znaczące
Łączenie wszystkiego w całość
Udało Ci się!
2. Cechy architektury. Znaj swoje właściwości
Cieszmy się razem!
Rozmowy w boksie
Czym są cechy architektury?
Definiowanie cech architektury
Cechy są aspektami projektu niezwiązanymi z dziedziną
Cechy mają wpływ na strukturę architektury
Ograniczaj cechy, by zapobiec nadmiernemu projektowaniu
Rozważ możliwości jawne i niejawne
Międzynarodowe Zoo MożliwOŚCI
Cechy architektury dotyczące procesu
Strukturalne cechy architektury
Operacyjne cechy architektury
Przekrojowe cechy architektury
Wyodrębnianie cech architektury z dziedziny problemu
Wyodrębnianie cech architektury ze świadomości środowiskowej
Określanie cech architektury na podstawie holistycznej wiedzy o dziedzinie
Złożone cechy architektury
Priorytety mają swój kontekst
Zagubiony w przekładzie
Cechy architektury i komponenty logiczne
Równoważenie kwestii związanych z dziedziną i cech architektury
Ograniczanie cech architektury
3. Dwa prawa architektury oprogramowania. Kompromisy. nic, tylko kompromisy!
Wszystko zaczyna się od aplikacji ze sneakersami
Co już wiemy?
Komunikacja z usługami serwerowymi
Analiza kompromisów
Analiza kompromisów: wersja z kolejkami
Analiza kompromisów: wersja z tematami
Pierwsze prawo architektury oprogramowania
Zawsze wszystko sprowadza się do kompromisów
Podejmowanie decyzji architektonicznych
Co jeszcze sprawia, że decyzja ma charakter architektoniczny?
Drugie prawo architektury oprogramowania
Dokumenty ADR – zapisy decyzji architektonicznych
Pisanie ADR: wybór odpowiedniego tytułu
Pisanie dokumentów ADR: jaki masz status?
Pisanie dokumentów ADR: określanie kontekstu
Pisanie dokumentów ADR: przedstawienie decyzji
Pisanie dokumentów ADR: rozważenie konsekwencji
Pisanie dokumentów ADR: zapewnianie nadzoru
Pisanie dokumentów ADR: uwagi końcowe
Korzyści ze stosowania dokumentów ADR
Sneakersowy Sezam okazał się sukcesem
4. Komponenty logiczne. Elementy konstrukcyjne
Ponowna prezentacja komponentów logicznych
Nazwij ten komponent
Aukcje na przygody online
Architektura logiczna a fizyczna
Tworzenie architektury logicznej
Krok 1. Określenie początkowych podstawowych komponentów
Podejście bazujące na przepływie pracy
Podejście bazujące na aktorach i akcjach
Pułapka encji
Krok 2. Przypisanie wymagań do komponentów
Krok 3. Analiza ról i odpowiedzialności
Dbanie o spójność
Krok 4. Analiza cech
Komponent Rejestracja oferty
Powiązania komponentów
Powiązania doprowadzające
Powiązania odprowadzające
Pomiar powiązań
System o ścisłych powiązaniach
Stosowanie prawa Demeter
Akt równoważenia
Kilka ostatnich słów o komponentach
Nazwij ten komponent
5. Style architektury. Kategoryzacja i filozofie
Istnieje wiele stylów architektury
Świat stylów architektury
Podział: techniczny kontra dziedzinowy
Model wdrożenia: monolityczny kontra rozproszony
Monolityczne modele wdrażania: zalety
Monolityczne modele wdrażania: wady
Rozproszone modele wdrażania: zalety
Rozproszone modele wdrażania: wady
A oto i podsumowanie!
6. Architektura warstwowa. Separując zagadnienia
Naan Mniaam!: zbieranie wymagań
Wzorce projektowe – przypomnienie
Warstwy wzorca MVC
Warstwa po warstwie
Przekształcanie warstw na kod
Dziedziny, komponenty i warstwy
Zalety architektury warstwowej
Warstwy w realu: architektury fizyczne
Kompromisy architektury fizycznej
Ostatnie ostrzeżenie dotyczące zmian dziedziny
Supermoce architektury warstwowej
Kryptonit architektury warstwowej
Architektura warstwowa w ocenach
Podsumowanie
7. Modularne monolity. Bazujące na dziedzinie
Modularny monolit?
Dziedzinowe problemy zmiany
Dlaczego modularne monolity?
Pokażcie mi kod!
Dbanie o modularność modułów
Rozszerzanie modularyzacji na bazy danych
Zwracaj uwagę na złączenia
Supermoce modularnych monolitów
Kryptonit modularnych monolitów
Modularny monolit w ocenach
Naan Mniaam! dostarcza pizze!
8. Architektura mikrojądra. Konstruowanie dostosowań
Korzyści zapewniane przez RecyklKings
Dwie części architektury mikrojądra
Spektrum „mikrojądrowości”
Jądro usługi oceny urządzeń
Wtyczki hermetyzowane kontra wtyczki rozproszone
Komunikacja z wtyczkami
Kontrakty wtyczek
RecyklKings stawiają na ekologię
Supermoce mikrojądra
Kryptonit mikrojądra
Mikrojądro w ocenach
Podsumowanie
9. Zrób to sam. Aplikacja podróżnicza LuzTravel
Ułatwianie podróżowania
Przepływ pracy użytkownika LuzTravel
Planowanie architektury
Przewodnik architekta
Krok 1. Określenie cech architektury
Krok 2. Identyfikacja komponentów logicznych
Krok 3. Wybór stylu architektury
Krok 4. Dokumentowanie podjętych decyzji
Krok 5. Rysowanie diagramu architektury
Nie ma dobrych (ani złych) odpowiedzi
10. Architektura mikrousług. Kawałek po kawałku
Jak się dzisiaj czujemy?
Czym jest mikrousługa?
To są moje dane, nie Twoje
Jak małe jest „mikro”?
Siły dezintegrujące
Dlaczego mielibyśmy zmniejszać mikrousługi?
Siły integrujące
Dlaczego mielibyśmy powiększać mikrousługi?
Wszystko sprowadza się do równowagi
Współdzielenie funkcjonalności
Wielokrotne użycie kodu dzięki zastosowaniu współdzielonej usługi
Wielokrotne użycie kodu dzięki zastosowaniu współdzielonej biblioteki
Zarządzanie przepływami pracy
Orkiestracja: dyrygowanie mikrousługami
Choreografia: zatańczmy
Supermoce architektury mikrousług
Kryptonit architektury mikrousług
Mikrousługi w ocenach
Podsumowanie
11. Architektura sterowana zdarzeniami. Asynchroniczne przygody
Zbyt wolno
Przyspieszanie obsługi
Der Nile rozwija się szybciej niż kiedykolwiek
Czym jest zdarzenie?
Zdarzenia a komunikaty
Zdarzenia inicjujące i pochodne
Czy ktokolwiek mnie słucha?
Komunikacja asynchroniczna
Odpal i zapomnij
Asynchroniczna rządzi
Synchroniczna rządzi
Topologie baz danych
Monolityczna baza danych
Bazy danych podzielone w oparciu o dziedzinę
Po bazie na usługę
Architektura EDA kontra mikrousługi
Hybrydy: mikrousługi sterowane zdarzeniami
Supermoce architektury sterowanej zdarzeniami
Kryptonit architektury sterowanej zdarzeniami
Architektura sterowana zdarzeniami w ocenach
Scalenie tego wszystkiego w całość
Podsumowanie
12. Zrób to sam. Sprawdzanie swojej wiedzy
Witamy w Testoramie
Przebieg realizacji testów
Planowanie architektury
Przewodnik architekta
Krok 1. Określenie cech architektury
Krok 2. Identyfikacja komponentów logicznych
Krok 3. Wybór stylu architektury
Krok 4. Dokumentowanie podjętych decyzji
Krok 5. Narysowanie diagramu architektury
Nie ma dobrych (ani złych) odpowiedzi
Dodatek A. Pozostałości. Sześć najważniejszych zagadnień, których nie opisaliśmy
Nr 1. Architekt piszący kod
Nr 2. Oczekiwania względem architektów
Nr 3. Miękkie umiejętności architektów
Nr 4. Techniki tworzenia diagramów
Nr 5. Głębokość a szerokość wiedzy
Nr 6. Praktykowanie architektury w formie kata
Skorowidz
Opinie
Na razie nie ma opinii o produkcie.