Facebook - konwersja

  • nowość
  • promocja

Refaktoryzacja domenowa. Przewodnik DDD po przekształcaniu architektury monolitycznej w systemy modularne i mikrousługi - ebook

Wydawnictwo:
Tłumacz:
Format:
MOBI
Data wydania:
1 kwietnia 2026
7120 pkt
punktów Virtualo

Refaktoryzacja domenowa. Przewodnik DDD po przekształcaniu architektury monolitycznej w systemy modularne i mikrousługi - ebook

Współczesne aplikacje muszą łączyć niespotykaną wcześniej zwinność i skalowalność z precyzyjnym dopasowaniem do celów biznesowych. Od programistów i architektów wymaga się dziś nie tylko doskonałości technicznej, ale także zrozumienia zasad rządzących daną domeną. Tę filozofię znakomicie wspiera projektowanie zorientowane domenowo domain-driven design (DDD).

Dzięki tej książce poznasz kluczowe koncepcje i praktyczne wskazówki, które pomogą Ci przekształcić monolit w nowoczesny, modułowy system. Autorzy szczegółowo omawiają strategiczne wzorce DDD, takie jak ograniczone konteksty i język wszechobecny, które poprawiają komunikację między ekspertami technicznymi i dziedzinowymi. Nauczysz się technik modelowania ułatwiających kontrolę nad złożonością i zwiększających elastyczność oprogramowania. Dowiesz się także, jak integrować mikrousługi, zarządzać komunikacją między nimi i zapewniać spójność danych i transakcji. W efekcie nauczysz się projektować systemy, w których logika biznesowa pozostaje w centrum wszystkich decyzji projektowych.

W książce między innymi:

  • rozgraniczanie komponentów systemu
  • wzorce strategiczne: ograniczone konteksty i język wszechobecny
  • wzorce taktyczne do budowania agregatów i encji
  • główne wzorce refaktoryzacji i ich wdrażanie
  • architektury sterowane zdarzeniami a powiązania między komponentami
  • testowanie integralności architektury

DDD: logika biznesowa to serce każdego dobrego projektu!

Spis treści

O autorach

O recenzentach

Przedmowa

Wprowadzenie

Część 1. Dlaczego warto stosować DDD, by stawić czoła złożoności?

  • Rozdział 1. Ewolucja projektowania zorientowanego na domenę
    • Ewolucja podejść do tworzenia oprogramowania
    • Dotychczasowa historia DDD
    • Czym jest projektowanie zorientowane na domenę (DDD)?
    • Jak DDD zmienia podejście do problemu?
    • Podsumowanie
  • Rozdział 2. Kwestia złożoności - przestrzeń problemów i rozwiązań
    • Radzenie sobie ze złożonością
      • Framework Cynefin
      • Teoria pozostałości
      • EventStorming
    • Przestrzeń problemów i przestrzeń rozwiązań
      • Celowe odkrywanie
      • Pięć poziomów niewiedzy
      • Przezwyciężanie luk w wiedzy
      • Spacer deleuzjański
    • Podejmowanie decyzji i błędy poznawcze
      • Zrozumienie systemu 1 i systemu 2
      • Znaczenie systemu 1 i systemu 2 w refaktoryzacji
      • Typowe błędy poznawcze w refaktoryzacji
      • Przykład praktyczny - refaktoryzacja odziedziczonego systemu
    • Podsumowanie
  • Rozdział 3. Wzorce strategiczne
    • Zrozumiała definicja terminów rozwiązuje połowę problemu
      • Czym jest kontekst ograniczony?
    • Podział domeny na sensowne granice
      • Mapowanie kontekstu
    • Zarządzanie komunikacją między kontekstami ograniczonymi
      • Znaczenie prawidłowej komunikacji
      • Wzorce komunikacji
      • Końcowa mapa kontekstu
    • Podsumowanie
  • Rozdział 4. Wzorce taktyczne
    • Wymagania techniczne
    • Zrozumienie wzorców taktycznych w DDD
      • Encje
      • Obiekty wartości
      • Agregaty
      • Repozytoria
      • Fabryki
    • Usługi i moduły
      • Usługi domenowe
      • Usługi aplikacji
      • Kluczowe różnice między usługami domenowymi a usługami aplikacji
      • Moduły
      • Moduły w refaktoryzacji złożonych systemów
    • Zdarzenia domenowe i integracyjne
      • Znaczenie zdarzeń we współczesnych aplikacjach
      • Zdarzenia domenowe
      • Zdarzenia integracyjne
      • Przypadki użycia w naszej aplikacji browarniczej
      • Przepływ zdarzeń i przepływ informacji
    • Podsumowanie

Część 2. Refaktoryzacja odziedziczonych systemów

  • Rozdział 5. Wprowadzenie do zasad refaktoryzacji
    • Teoria przed praktyką
      • Wyzwania ścisłego powiązania usług sprzedaży i magazynowania
      • Wdrażanie CI/CD i obserwowalności w procesie refaktoryzacji
    • Filary bezpiecznych zmian
      • Analiza struktury rozwiązania
      • Zrozumienie testów i ich roli w refaktoryzacji
      • Zastosowanie piramidy testów - cały przykład
    • W kierunku przejrzystszego i łatwiejszego w utrzymaniu kodu
      • Zasada pojedynczej odpowiedzialności
      • Zasada otwarte-zamknięte
      • Zasada odwrócenia zależności
      • Wzorzec strategii
    • Podsumowanie
  • Rozdział 6. Wyjście z chaosu
    • Identyfikacja kluczowych domen
    • Zrozumienie otoczenia biznesowego
      • Mapowanie obecnej bazy kodu
      • Identyfikacja kontekstów ograniczonych
    • Definiowanie przejrzystych interfejsów
    • Budowa modularnego monolitu
      • Mediator kontra Fasada
    • Testowanie i stabilizacja
    • Podsumowanie
  • Rozdział 7. Integracja zdarzeń z CQRS
    • Rozumienie roli komunikatów w monolicie modularnym
      • Polecenia a zdarzenia
      • Zdarzenia domenowe i integracyjne
    • Rozdzielenie odpowiedzialności poleceń i zapytań
      • Bezpośrednia synchronizacja baz danych
      • Odpytywanie bazy danych
      • Widoki zmaterializowane
      • Współdzielona baza danych
      • Wyzwalacze bazodanowe
    • Rejestrowanie zmian stanu za pomocą zdarzeń
      • Integracja wzorca Event Sourcing w architekturze CQRS
      • Dodawanie zdarzeń do naszego systemu ERP
    • Testowanie modularnego monolitu sterowanego zdarzeniami
      • Testy specyfikacji
      • Przykład 1. Tworzenie zamówienia sprzedaży
      • Przykład 2. Aktualizacja dostępności
    • Podsumowanie
  • Rozdział 8. Refaktoryzacja bazy danych
    • Usługi modułowe i potrzeba refaktoryzacji baz danych
    • Zasady refaktoryzacji baz danych i wyznaczania granic domen
      • Ewolucyjne projektowanie baz danych
      • Wzorce refaktoryzacji baz danych
    • Wyodrębnianie usług i zarządzanie spójnością danych
    • Przejście na nową architekturę i zapewnienie wydajności
      • Wzorce dostępu do danych rozproszonych
      • Optymalizacja wydajności zapytań poprzez buforowanie i indeksowanie
    • Testowanie i wdrażanie
      • Strategie testowania
      • Strategie wdrażania modularnych baz danych
    • Podsumowanie
  • Rozdział 9. Wzorce DDD do ciągłej integracji i ciągłej refaktoryzacji
    • Integracja DDD z CI/CD
      • Dlaczego CI/CD korzysta z DDD?
      • Łączenie biznesu i technologii
      • Tworzenie pętli informacji zwrotnych
    • Wzorce i techniki skutecznego refaktoryzowania zgodnie z DDD
      • Podział kontekstów ograniczonych
      • Łączenie kontekstów ograniczonych
    • Ciągła refaktoryzacja w kontekście DDD
    • Automatyzacja i narzędzia
      • SonarQube i GitLab - przykład
      • Przykład GitHub Actions
    • Podsumowanie

Część 3. Przejście od monolitu do mikrousług

  • Rozdział 10. Kiedy i dlaczego warto przejść na architekturę mikrousług?
    • Odkrywanie architektury mikrousług
      • Przejście z monolitu modularnego na mikrousługi
      • Monolit kontra mikrousługi
    • Uzasadnienie stosowania mikrousług
    • Wyzwania i aspekty do rozważenia
      • Błędne założenia w obliczeniach rozproszonych
      • Korzyści i kompromisy związane z przejściem na mikrousługi
    • Ocena gotowości do wdrożenia mikrousług
      • Oznaki gotowości do mikrousług
      • Rola monolitu modułowego jako fundamentu
      • Dlaczego wzorzec mediatora nie wystarcza do pełnego rozdzielenia komponentów?
      • Przejście na komunikację sterowaną zdarzeniami
      • Przygotowanie do mikrousług
    • Strategie przechodzenia na mikrousługi
    • Podsumowanie
  • Rozdział 11. Obsługa zdarzeń i ich ewolucji
    • CQRS, Event Sourcing i błędne pojęcie o strumieniowaniu zdarzeń
    • Cykl życia zdarzeń - dlaczego rozwój ma znaczenie?
    • Wdrażanie CQRS+ES - pokonywanie wyzwań technicznych i kulturowych
    • Strategie wersjonowania zdarzeń
      • Proste wersjonowanie zdarzeń
      • Jak zarządzać ewolucją zdarzeń poza agregatem?
    • Podsumowanie
  • Rozdział 12. Zarządzanie złożonością - zaawansowane podejścia do procesów biznesowych
    • Złożoność zawsze była obecna
      • Protokół zatwierdzania dwufazowego
      • Wzorzec Saga
    • Choreografia a orkiestracja
      • Choreografia
      • Orkiestracja
      • Wybór między choreografią a orkiestracją
    • Zrozumienie różnicy między menedżerami procesów a sagami
      • Dlaczego wzorce Saga i Menedżer procesu nie są zamienne?
      • Jak protokół 2PC odnosi się do wzorców Saga i Menedżer procesu?
    • Obsługa błędów i odzyskiwanie transakcji w sagach
      • Transakcje kompensujące i strategie odzyskiwania
      • Nieprzerwane wykonywanie - zapewnienie niezawodności w sagach
      • Sagi oparte na zdarzeniach
    • Podsumowanie
Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-289-3328-6
Rozmiar pliku: 9,3 MB

BESTSELLERY

Menu

Zamknij