Details zum E-Book

Architektura oprogramowania. Rusz głową! Przewodnik po myśleniu architektonicznym

Architektura oprogramowania. Rusz głową! Przewodnik po myśleniu architektonicznym

Raju Gandhi, Mark Richards, Neal Ford

E-book

Jeśli zależy Ci na sukcesie systemu, który budujesz, musisz zadbać o jego architekturę! Dobre praktyki architektoniczne poprawiają jakość oprogramowania, które skutecznie dostosowuje się do wymagań, nawet podczas bezustannych zmian środowisk biznesowych i technicznych. Jednak architektura oprogramowania jest trudnym zagadnieniem, więc Twój mózg może się starać Cię przekonać, że się jej nie nauczysz. Zatem pora go oszukać!

Ta fantastyczna książka, pełna zabawnej narracji i praktycznych przykładów, nauczy Cię myślenia architektonicznego. Została ona, podobnie jak inne pozycje z serii Rusz głową!, przygotowana na bazie odkryć nauk poznawczych i neurofizjologii. Właśnie dzięki temu zaangażujesz swój mózg, użyjesz wielu zmysłów i niepostrzeżenie zrozumiesz dwa prawa architektury oprogramowania i cztery opisujące ją wymiary. Mistrzowsko opanujesz cechy i style architektury, a także nauczysz się określać logiczne komponenty systemów. Efekt? Zdobędziesz świetną orientację w świecie architektury oprogramowania. A wszystkiego nauczysz się, rozwiązując łamigłówki, wykonując praktyczne ćwiczenia, tworząc architektury ? i wybuchając głośnym śmiechem!

W książce:

  • zasady architektury oprogramowania i jej komponenty
  • filozofia różnych stylów architektury
  • architektura warstwowa, modułowa, mikrojądra i mikrousługi
  • architektura sterowana zdarzeniami
  • ...i mnóstwo radości z tworzenia pięknej architektury!

Autorzy w mistrzowski sposób przekształcają złożone pojęcia w łatwo przyswajalne informacje!

James Erler, inżynier oprogramowania wbudowanego Medtronic

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
  • Titel: Architektura oprogramowania. Rusz głową! Przewodnik po myśleniu architektonicznym
  • Autor: Raju Gandhi, Mark Richards, Neal Ford
  • Originaler Titel: Head First Software Architecture: A Learner's Guide to Architectural Thinking
  • Übersetzung: Piotr Rajca
  • ISBN: 978-83-289-1569-5, 9788328915695
  • Veröffentlichungsdatum: 2025-03-25
  • Format: E-book
  • Artikelkennung: aropru
  • Verleger: Helion