Kilkanaście lat doświadczenia zebrane w nowy, wyjątkowy projekt!
Z nami
perfekcyjnie
zrozumiesz
modelowanie
Zapraszają Sławek Sobótka
i Kuba
Pilimon


Agenda Domain Drivers
III edycja - AI Edition
Sprawdź, czego się z nami nauczysz!
Uporządkujesz podstawy DDD i zobaczysz, gdzie w tym procesie realnie przydaje się AI.
Po tym module:
- Wiesz, czym jest DDD i kiedy warto po nie sięgać.
- Lepiej rozpoznajesz klasę problemu.
- Rozumiesz, gdzie LLM może pomóc w pracy z domeną.
Lista lekcji:
- Despota-driven Development
- Disaster-driven Design
- Mapa szkolenia
- Jak korzystać z tego szkolenia
- Czym jest Domain-Driven Design?
- Zadanie
- Miejsce AI w DDD - gdzie LLM realnie pomaga
Zobaczysz, jak szybko zbierać informacje, weryfikować założenia i analizować problem od dołu, także z pomocą AI.
Po tym module:
- Wiesz, kiedy dzielić system, a kiedy tego nie robić.
- Umiesz wykorzystać Event Storming Big Picture do analizy problemu.
- Wykorzystujesz AI do poprawy jakości wymagań.
Lista lekcji:
- Po co dzielić? Kiedy tego nie robić?
- Show me the money
- Event Storming Big Picture - facylitacja
- Fail fast/ Top down vs Bottom up
- Szukanie Deep Model jako technika fail fast
- Co jest stabilne, a co zmienne?
- Zadanie - reguły, które ciągle się zmieniają i wzajemnie wykluczają
- Koniec ery słabych wymagań - jak AI podnosi ich jakość
Poznasz podejście do szukania modeli, które nie tylko odwzorowują problem, ale pomagają lepiej go zrozumieć i uprościć.
Po tym module:
- Wiesz, czego szukać w dobrym Deep Modelu.
- Potrafisz porównywać i oceniać modele.
- Wykorzystujesz AI jako sparingpartnera podczas Event Stormingu.
Lista lekcji:
- Rozwiązanie/ Przykład deep modelu-harmonogramu. Jak na nie wpadać?
- Protip konsultanta/ jak szybko generować wartość?
- Metryki dobrego modelu: brakujące narzędzie rozwiązujące „moje jest mojsze niż Twojsze”
- Deep Model/ Inny przykład: Optymalizator
- Zadanie
- Modelowanie Niepewności i Rozwiązania Zadania
- Czy AI zastąpi białkowego modelarza? O szukaniu deep modelu przez deep learning
- Bottom up/ Podsumowanie i Zadanie
- Model jest wszystkim czego potrzebujesz
- AI jako sparingpartner - interaktywny Event Storming
Zobaczysz, jak analizować większe, wielodomenowe problemy z perspektywy procesów i zależności między nimi.
Po tym module:
- Potrafisz spojrzeć na problem z poziomu całego procesu, a nie pojedynczych funkcji.
- Wiesz, jak wykorzystać Event Storming Process Level do porządkowania złożonego obszaru.
- Używasz AI do wykrywania algorytmiki, która nie zawsze jest widoczna w wymaganiach.
Lista lekcji:
- Rozwiązanie zadania
- Event Storming Process Level - wprowadzenie
- Model procesów
- Porady dla facylitatorów
- Cyrk na kółkach
- Elementarz Komunikacji
- Zadanie
- Wykrywanie algorytmiki w wymaganiach z AI - to, że czegoś nie widzisz, nie znaczy, że tego tam nie ma
Poznasz heurystyki, które pomagają podejmować bardziej świadome decyzje dotyczące podziału strategicznego i granic modeli.
Po tym module:
- Wiesz, jak szukać autonomicznych modeli.
- Potrafisz wykorzystywać różne heurystyki do analizy podziału.
- Używasz AI jako wsparcia w ocenie jakości modeli.
Lista lekcji:
- Rozwiązanie zadania
- Podział strategiczny - pojęcia
- Heurystyka/ główne pytania
- Heurystyka/ alternatywy w przebiegu procesu
- Heurystyka/ Pivotal Events
- Heurystyka/ Capability vs Product
- Uwagi i pułapki sub-domen
- Destylacja Kontekstów/ Dwukierunkowa Analiza Lingwistyczna
- Podsumowanie Odkrytych Modeli
- Czy mój model jest lepszy niż twój? AI jako arbiter jakości
Przejdziesz od samego podziału systemu do świadomego mapowania zależności między modelami i kontekstami.
Po tym module:
- Potrafisz budować mapę zależności między modelami.
- Rozumiesz różne poziomy integracji kontekstów.
- Wykorzystujesz AI do analizy konascencji i zależności w systemie.
Lista lekcji:
- Modularyzacja bez mapowania - czyli wyszło „jak zwykle”
- Mapa Kontekstów (Mapa Zależności Między Modelami) - Twój najważniejszy artefakt
- Strategie dostosowywania się - poradnik modelarza
- Logiczne poziomy integracji kontekstów
- Dramat mapowania kontekstów w kilku aktach + zadanie
- Liczenie konascencji jest mozolne - na szczęście nie musisz tego robić sam
Nauczysz się rozpoznawać różne klasy problemów i dobierać do nich adekwatny sposób modelowania.
Po tym module:
- Rozróżniasz CRUD, transformację, prezentację, integrację i rywalizację o zasoby.
- Trafniej dobierasz sposób modelowania do rodzaju problemu.
- Wykorzystujesz LLM jako wsparcie w klasyfikacji problemów.
Lista lekcji:
- Rozwiązanie zadania
- if ifowi nie równy
- Jak rozpoznawać - CRUD
- Jak rozpoznawać - Transformacja i Prezentacja
- Jak rozpoznawać - Integracja
- Jak rozpoznawać - Rywalizacja o zasoby
- Łączenie klas problemów
- Jak dobrać klasę młotka do klasy gwoździa - klasyfikacja problemów z pomocą LLM
Przyjrzysz się problemom opartym na transformacjach i obliczeniach - od implementacji po testowanie i dobór paradygmatu.
Po tym module:
- Rozumiesz specyfikę problemów opartych na transformacjach.
- Wiesz, jak dobierać paradygmat do charakteru problemu.
- Wiesz, jak projektować i testować logikę obliczeniową.
Lista lekcji:
- Implementacja transformacji obliczenia - Strategia Testowania, Value Objects i Domain Services
- Implementacja transformacji obliczenia - Heurystyki doboru paradygmatu
- Transformacje - Dlaczego mieszają się z innymi klasami problemów?
- Model wielkiej skali przy transformatach + Podsumowanie
Nauczysz się dobierać sposób modelowania do problemów związanych ze współbieżnością i spójnością - od prostego CRUD po zaawansowane agregaty.
Po tym module:
- Rozpoznajesz, kiedy CRUD przestaje wystarczać.
- Rozumiesz zasady projektowania agregatów i jednostek spójności.
- Wykorzystujesz LLM do pracy z różnymi paradygmatami programowania.
Lista lekcji:
- Rywalizacja o zasoby - Czy to jeszcze CRUD czy już rywalizacja o zasoby?
- Rywalizacja o zasoby - Dlaczego w agregatach nie chodzi o obiektowość?
- Rywalizacja o zasoby - Heurystyki doboru paradygmatu
- Rywalizacja o zasoby - Rodzaje blokowania i dlaczego 4 zasady projektowania agregatów to w praktyce jedna?
- Rywalizacja o zasoby - Persystencja agregatów
- Rywalizacja o zasoby - Strategia testowania, Application Services, Domain Services, Policies i inne
- Rywalizacja o zasoby - Podsumowanie podstaw i zadania praktyczne
- Zaawansowane agregaty dynamiczne: Kiedy obiektowe agregaty nie wystarczają
- Zaawansowana walka o zasoby: Agregaty procesowe
- Język naturalny jako nowy poziom abstrakcji? Płynne przechodzenie między paradygmatami programowania przy użyciu LLM
Uporządkujesz podejście do modeli odczytowych, CQRS oraz procesów odpowiedzialnych za integrację i komunikację między elementami systemu.
Po tym module:
- Rozumiesz rolę modeli do odczytu i CQRS.
- Wiesz, jak działają sagi i sagi stanowe.
- Rozumiesz problem gwarancji dostarczania wiadomości.
Lista lekcji:
- Model do odczytu
- CQRS
- Przykłady
- Zadanie
- Saga i saga stanowa
- Gwarancje dostarczania wiadomości
- Zadanie
Zobaczysz, jak rozwijać model i architekturę wtedy, gdy pojawiają się nowe wymagania, dodatkowe zależności i potrzeba zmiany sposobu komunikacji.
Po tym module:
- Potrafisz lepiej reagować na wymagania, które podważają dotychczasowy model.
- Rozumiesz rolę modeli mapujących oraz architektury portów i adapterów.
- Wykorzystujesz AI przy przechodzeniu na komunikację asynchroniczną.
Lista lekcji:
- Nowe Wymagania Rzucające Wyzwanie Modelowi
- Zabrakło czasu czy zabrakło skilla? Konsekwencje Decyzji Podejmowanych w Stresie
- Ukryty model (kontekst) mapujący
- Implementacja Modelu Mapującego
- Międzymodułowy model wielkiej skali
- Code review
- Architektura portów i adapterów i architektura warstwowa
- (Rzadka) Zmiana techniczna (wymiana bazy)
- Rozpraszanie systemu z AI - jak bezbolesnie przejść na komunikację asynchroniczną
Złożysz poznane wcześniej elementy w bardziej pragmatyczny sposób pracy z domeną.
Po tym module:
- Potrafisz analizować przestrzeń problemu na bazie pojęć i reguł.
- Umiesz wyłaniać modele i modularyzować rozwiązanie na bazie odkrytej domeny.
- Łączysz poznane wcześniej techniki w spójny sposób pracy.
Lista lekcji:
- Wstęp
- Problem biznesowy
- Zmiana stanu - rywalizacja o zasoby
- Analiza przestrzeni problemu - rzeczowniki i reguły
- Zmiana stanu - rywalizacja o zasoby
- Modularyzacja na bazie odkrytych pojęć
- Trzy poziomy logiki
- Znane problemy biznesowe
- Metodyka
- To jest już koniec...
W ramach szkolenia oferujemy bardzo zaawansowany przykład,
Mało tego - sam kod jest publiczny i znajdziesz go na naszym GitHub TUTAJ »!
w pełni zaimplementowany w pięciu technologiach (Java, C#, Python, PHP, TypeScript).
Czegoś takiego nie ma w internecie:
- 12 modułów,
- pełna implementacja sagi,
- kilka warstw odpowiedzialności,
- różne strategie testowania,
- ... i wiele innych.
