Architektura oprogramowania. Rusz g - Helion

Tytuł oryginału: Head First Software Architecture: A Learner's Guide to Architectural Thinking
Tłumaczenie: Piotr Rajca
ISBN: 978-83-289-1569-5
stron: 464, Format: ebook
Księgarnia: Helion
Cena książki: 129,00 zł
Książka będzie dostępna od lutego 2025
Je
Spis treści
Architektura oprogramowania. Rusz głową! Przewodnik po myśleniu architektonicznym eBook -- 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