Koncepcja Domain-Driven Design. Dostosowywanie architektury aplikacji do strategii biznesowej - ebook
Koncepcja Domain-Driven Design. Dostosowywanie architektury aplikacji do strategii biznesowej - ebook
Domain-driven design, czyli projektowanie dziedzinowe, w skrócie DDD, jest zbiorem praktyk tworzenia architektury oprogramowania z uwzględnieniem dziedziny biznesu i jej problemów. W ten sposób logika biznesowa staje się sercem aplikacji. Wielu architektów jednak nie radzi sobie ze złożonością tworzonego oprogramowania. Nauczenie się zasad i wzorców DDD, przyswojenie technik dekompozycji dużego systemu, modelowania i projektowania integracji komponentów jest sposobem na zbudowanie systemu w pełni zgodnego z potrzebami i celami biznesowymi.
Ta książka zawiera opis podstawowych wzorców, zasad i praktyk przydatnych podczas analizy dziedzin biznesowych, ułatwiających zrozumienie ich strategii i dostosowanie architektury do potrzeb biznesu, aby umożliwić zbudowanie solidnej implementacji logiki biznesowej. Omówiono tu narzędzia i techniki podejmowania decyzji projektowych, a także istotniejsze wzorce projektowe. Dużo uwagi poświęcono kodowi i różnym sposobom implementacji logiki biznesowej systemu. Opisano również techniki i strategie stosowania DDD w rzeczywistych projektach. Ciekawym elementem jest zaprezentowanie związków projektowania dziedzinowego z innymi ważnymi metodologiami i wzorcami.\
W książce między innymi:
- analiza dziedziny biznesowej firmy w kontekście architektury systemu
- strategiczne i taktyczne narzędzia DDD
- budowa wspólnego rozumienia dziedzin biznesowych
- dekompozycja systemu na konteksty ograniczone
- koordynacja pracy wielu zespołów
- stopniowe wdrażanie technik DDD do projektów typu brownfield
DDD: praktyczny sposób na rozwiązanie problemów biznesowych!
Spis treści
Słowo wstępne
Przedmowa
Wprowadzenie
Cześć I. Projektowanie strategiczne
Rozdział 1. Analiza Dziedzin Biznesowych
- Co to jest Dziedzina Biznesowa?
- Co to jest Poddziedzina?
- Typy Poddziedzin
- Porównywanie Poddziedzin
- Identyfikowanie granic Poddziedzin
- Przykłady analizy Dziedziny
- Gigmaster
- BusVNext
- Kim są eksperci dziedzinowi?
- Podsumowanie
- Ćwiczenia
Rozdział 2. Odkrywanie wiedzy dziedzinowej
- Problemy biznesowe
- Odkrywanie wiedzy
- Komunikacja
- Co to jest Język Wszechobecny?
- Język biznesu
- Scenariusze
- Spójność
- Model Dziedziny Biznesowej
- Co to jest "model"?
- Skuteczne modelowanie
- Modelowanie Dziedziny Biznesowej
- Ciągły wysiłek
- Narzędzia
- Wyzwania
- Podsumowanie
- Ćwiczenia
Rozdział 3. Zarządzanie złożonością Dziedziny
- Niespójne modele
- Co to jest Kontekst Ograniczony?
- Granice modelu
- Język Wszechobecny dokładniej
- Zakres Kontekstu Ograniczonego
- Konteksty Ograniczone a Poddziedziny
- Poddziedziny
- Konteksty Ograniczone
- Wzajemne oddziaływanie między Poddziedzinami a Kontekstami Ograniczonymi
- Granice
- Granice fizyczne
- Granice własności
- Konteksty Ograniczone w prawdziwym życiu
- Dziedziny semantyczne
- Nauka
- Kupowanie lodówki
- Podsumowanie
- Ćwiczenia
Rozdział 4. Integracja Kontekstów Ograniczonych
- Kooperacja
- Partnerstwo
- Wspólne Jądro
- Klient-Dostawca
- Konformista
- Warstwa Antykorupcyjna
- Usługa Otwartego Hosta
- Różne Drogi
- Problemy z komunikacją
- Poddziedziny Ogólne
- Różnice w modelach
- Mapa Kontekstu
- Utrzymanie
- Ograniczenia
- Podsumowanie
- Ćwiczenia
Część II. Projektowanie taktyczne
Rozdział 5. Implementacja prostej Logiki Biznesowej
- Skrypt Transakcji
- Implementacja
- To nie jest takie proste!
- Kiedy używać Skryptu Transakcji
- Aktywny Rekord
- Implementacja
- Kiedy używać wzorca Aktywny Rekord
- Bądź pragmatyczny
- Podsumowanie
- Ćwiczenia
Rozdział 6. Rozwiązywanie problemów ze złożoną Logiką Biznesową
- Historia
- Model Dziedziny
- Implementacja
- Bloki konstrukcyjne
- Zarządzanie złożonością
- Podsumowanie
- Ćwiczenia
Rozdział 7. Modelowanie wymiaru czasu
- Event Sourcing
- Wyszukiwanie
- Analiza
- Źródło prawdy
- Magazyn zdarzeń
- Model Dziedziny ze źródłem w postaci zdarzeń
- Zalety
- Wady
- Często zadawane pytania
- Wydajność
- Usuwanie danych
- Dlaczego nie mogę po prostu...?
- Podsumowanie
- Ćwiczenia
Rozdział 8. Wzorce architektoniczne
- Logika Biznesowa a wzorce architektoniczne
- Architektura Warstwowa
- Warstwa Prezentacji
- Warstwa Logiki Biznesowej
- Warstwa Dostępu Do Danych
- Komunikacja między warstwami
- Odmiany
- Kiedy używać Architektury Warstwowej?
- Porty i Adaptery
- Terminologia
- Zasada inwersji zależności
- Integracja komponentów infrastrukturalnych
- Odmiany
- Kiedy używać wzorca Porty i Adaptery?
- Segregacja Odpowiedzialności za Polecenia i Zapytania
- Modelowanie poliglotyczne
- Implementacja
- Projekcje Modeli Odczytu
- Wyzwania
- Segregacja modeli
- Kiedy używać CQRS?
- Zakres
- Podsumowanie
- Ćwiczenia
Rozdział 9. Wzorce komunikacji
- Tłumaczenie modelu
- Bezstanowe tłumaczenie modelu
- Stanowe tłumaczenie modelu
- Integracja Agregatów
- Skrzynka Nadawcza
- Saga
- Menedżer Procesu
- Podsumowanie
- Ćwiczenia
Część III. Zastosowanie DDD w praktyce
Rozdział 10. Heurystyki projektowe
- Heurystyka
- Konteksty Ograniczone
- Wzorce implementacji Logiki Biznesowej
- Wzorce architektoniczne
- Strategia testowania
- Piramida Testowania
- Romb Testowania
- Odwrócona Piramida Testowania
- Drzewo decyzyjne projektu taktycznego
- Podsumowanie
- Ćwiczenia
Rozdział 11. Zmieniające się decyzje projektowe
- Zmiany w Dziedzinach
- Podstawowa na Ogólną
- Ogólna na Podstawową
- Pomocnicza na Ogólną
- Pomocnicza na Podstawową
- Podstawowa na Pomocniczą
- Ogólna na Pomocniczą
- Problemy projektu strategicznego
- Problemy projektu taktycznego
- Skrypt Transakcji na Aktywny Rekord
- Aktywny Rekord na Model Dziedziny
- Model Dziedziny na Model Dziedziny ze źródłem w postaci zdarzeń
- Generowanie przeszłych przejść
- Modelowanie zdarzeń migracji
- Zmiany organizacyjne
- Partnerstwo na Klient-Dostawca
- Klient-Dostawca na Różne Drogi
- Wiedza dziedzinowa
- Rozwój
- Poddziedziny
- Konteksty Ograniczone
- Agregaty
- Podsumowanie
- Ćwiczenia
Rozdział 12. EventStorming
- Co to jest EventStorming?
- Kto powinien wziąć udział w warsztatach EventStorming?
- Czego potrzebujesz do zorganizowania sesji EventStorming?
- Przebieg warsztatów EventStorming
- Krok 1. Nieustrukturyzowana eksploracja
- Krok 2. Osie czasu
- Krok 3. Możliwe problemy
- Krok 4. Kluczowe zdarzenia
- Krok 5. Polecenia
- Krok 6. Reguły
- Krok 7. Modele Odczytu
- Krok 8. Systemy zewnętrzne
- Krok 9. Agregaty
- Krok 10. Konteksty Ograniczone
- Odmiany
- Kiedy korzystać z warsztatów EventStorming?
- Wskazówki dotyczące facylitacji
- Obserwuj dynamikę
- Zdalne sesje EventStorming
- Podsumowanie
- Ćwiczenia
Rozdział 13. Projekt oparty na Dziedzinie w praktyce
- Analiza strategiczna
- Opis Dziedziny Biznesowej
- Poznaj aktualny projekt
- Strategia modernizacji
- Modernizacja strategiczna
- Modernizacja taktyczna
- Pielęgnuj Język Wszechobecny
- Praktyczny projekt DDD
- Promowanie projektu DDD
- Ujawnij metodologię DDD
- Podsumowanie
- Ćwiczenia
Część IV. Związki z innymi metodologiami i wzorcami
Rozdział 14. Mikrousługi
- Co to jest usługa?
- Co to jest "mikrousługa"?
- Metoda jako usługa: czy to doskonałe mikrousługi?
- Cel projektu
- Złożoność systemu
- Mikrousługi jako usługi głębokie
- Mikrousługi jako moduły głębokie
- Projektowanie DDD a granice mikrousług
- Konteksty Ograniczone
- Agregaty
- Poddziedziny
- Kompresowanie publicznych interfejsów mikrousług
- Usługa Otwartego Hosta
- Warstwa Antykorupcyjna
- Podsumowanie
- Ćwiczenia
Rozdział 15. Architektura sterowana zdarzeniami
- Architektura sterowana zdarzeniami
- Zdarzenia
- Zdarzenia, Polecenia i Komunikaty
- Struktura
- Rodzaje zdarzeń
- Projektowanie integracji sterowanej zdarzeniami
- Rozproszona Wielka Kula Błota
- Sprzężenie czasowe
- Sprzężenie funkcjonalne
- Sprzężenie implementacji
- Refaktoryzacja kodu integracji sterowanej zdarzeniami
- Heurystyka projektu sterowanego zdarzeniami
- Podsumowanie
- Ćwiczenia
Rozdział 16. Siatka danych
- Analityczny model danych a transakcyjny model danych
- Tabela faktów
- Tabela wymiarów
- Modele analityczne
- Platformy zarządzania danymi analitycznymi
- Hurtownia danych
- Jezioro danych
- Wyzwania związane z architekturami hurtowni danych i jeziora danych
- Siatka danych
- Dekompozycja danych wokół Dziedzin
- Dane jako produkt
- Zadbaj o autonomię
- Zbuduj ekosystem
- Łączenie siatki danych z projektowaniem DDD
- Podsumowanie
- Ćwiczenia
Posłowie
Dodatek A. Zastosowanie DDD: studium przypadku
Dodatek B. Odpowiedzi na pytania
Bibliografia
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-9263-2 |
Rozmiar pliku: | 13 MB |