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
Sprawdź czego się z nami nauczysz!
W tym module między innymi:
Kiedy NIE stosować DDD? Kiedy makiety ekrany są wystarczające?
Jak rozpoznać KLASĘ problemu? Z czego wynika DDD?
Jak stawiać cele strategiczne taktyczne?
Lista lekcji:
1. Despota-driven Development
2. Disaster-driven Design
3. Mapa szkolenia
4. Jak korzystać z tego szkolenia?
5. Czym jest Domain-Driven Design?
6. Zadanie
W tym module między innymi:
Kiedy NIE potrzebujemy pojęć: moduł, subdomena, bounded context?
Jak zbierać informacje? Event Storming Big Picture - facylitacja
Analiza ryzyk, szans i wartości. Specialized-Models vs General-Purpose Models
Przykłady stosowania heurystyki: symulowania stabilności i niestabilności.
Dostrajanie modelu. Symulacja wymagań.
Lista lekcji:
1. Po co modularyzować? Kiedy tego nie robić?
2. Show me the money
3. Event Storming Big Picture - facylitacja
4. Fail fast/ Top down vs Bottom up
5. Szukanie Deep Model jako technika fail fast
6. Co jest stabilne, a co zmienne?
7. Zadanie - reguły, który ciągle się zmieniają i wzajemnie wykluczają
Lista lekcji:
1. Rozwiązanie/ Przykład deep modelu-harmonogramu. Jak na nie wpadać?
2. Protip konsultanta/ jak szybko generować wartość?
3. Metryki dobrego modelu: brakujące narzędzie rozwiązujące "moje jest mojsze niż Twojsze"
4. Deep Model/ Inny przykład: Optymalizator
5. Zadanie
6. Modelowanie Niepewności i Rozwiązania Zadania
7. Czy AI zastąpi białkowego modelarza? O szukaniu deep modelu przez deep learning
8. Bottom up/ Podsumowanie i Zadanie
9. Model jest wszystkim czego potrzebujesz
W tym module między innymi:
Metaprogramy.
Being Behaving Becoming.
Zmiana reprezentacji.
Aspekty kognitywne.
Lista lekcji:
1. Rozwiązanie zadania
2. Event Storming Process Level - wprowadzenie
3. Model procesów
4. Porady dla facylitatorów
5. Cyrk na kółkach
6. Elementarz Komunikacji
7. Zadanie
W tym module między innymi:
Cel strategicznego DDD: autonomiczne modele.
Trzy rodzaje pytań heurystycznych.
Heurystyka vs algorytm.
Lista lekcji:
1. Rozwiązanie zadania
2. Podział strategiczny - pojęcia
3. Heurystyka/ główne pytania
4. Heurystyka/ alternatywy w przebiegu procesu
5. Heurystyka/ Pivotal Events
6. Heurystyka/ Capability vs Product
7. Uwagi i pułapki sub-domen
8. Destylacja Kontekstów/ Dwukierunkowa Analiza Lingwistyczna
9. Podsumowanie Odkrytych Modeli
W tym module między innymi:
Relacje organizacyjne i techniczne.
Patologie przeciekania kontekstów.
Event vs Command vs Query; Event-Carried State vs Event-Notification.
Przełożenie modelu strategicznego na architekturę.
Lista lekcji:
1. Modularyzacja bez mapowania - czyli wyszło "jak zwykle"
2. Mapa Kontekstów (Mapa Zależności Między Modelami) - Twój najważniejszy artefakt
3. Strategie dostosowywania się - poradnik modelarza
4. Logiczne poziomy integracji kontekstów
5. Dramat mapowania kontekstów w kilku aktach + zadanie
Lista lekcji:
1. Rozwiązanie zadania
2. if ifowi nie równy
3. Jak rozpoznawać - CRUD
4. Jak rozpoznawać - Transformacja i Prezentacja
5. Jak rozpoznawać - Integracja
6. Jak rozpoznawać - Rywalizacja o zasoby
7. Łączenie klas problemów
Lista lekcji:
1. Implementacja transformacji obliczenia - Strategia Testowania, Value Objects i Domain Services
2. Implementacja transformacji obliczenia - Heurystyki doboru paradygmatu
3. Transformacje - Dlaczego mieszają się z innymi klasami problemów?
4. Model wielkiej skali przy transformatach + Podsumowanie
W tym module między innymi:
Design Level Event Storming.
Obiektowo, proceduralnie czy funkcyjnie?
Eventual Consistency vs Immediate Consistency.
ORM. Event Sourcing.
Agregat bazodanowy vs dynamiczny.
Lista lekcji:
1. Rywalizacja o zasoby - Czy to jeszcze CRUD czy już rywalizacja o zasoby?
2. Rywalizacja o zasoby - Dlaczego w agregatach nie chodzi o obiektowość?
3. Rywalizacja o zasoby - Heurystyki doboru paradygmatu
4. Rywalizacja o zasoby - Rodzaje blokowania i dlaczego 4 zasady projektowania agregatów to w praktyce jedna?
5. Rywalizacja o zasoby - Persystencja agregatów
6. Rywalizacja o zasoby - Strategia testowania, Application Services, Domain Services, Policies i inne
7. Rywalizacja o zasoby - Podsumowanie podstaw i zadania praktyczne
8. Zaawansowane agregaty dynamiczne: Kiedy obiektowe agregaty nie wystarczają
9. Zaawansowana walka o zasoby: Agregaty procesowe
Lista lekcji:
1. Model do odczytu
2. CQRS
3. Przykłady
4. Zadanie
5. Saga i saga stanowa
6. Gwarancje dostarczania wiadomości
7. Zadanie
W tym module między innymi:
Utrzymanie relacji kontekstów. Krawędzie relacji.
Persystentna polityka.
Pryncypia architektury aplikacyjnej.
Lista lekcji:
1. Nowe Wymagania Rzucające Wyzwanie Modelowi
2. Zabrakło czasu czy zabrakło skilla? Konsekwencje Decyzji Podejmowanych w Stresie
3. Ukryty model (kontekst) mapujący
4. Implementacja Modelu Mapującego
5. Międzymodułowy model wielkiej skali
6. Code review
7. Architektura portów i adapterów i architektura warstwowa
8. (Rzadka) Zmiana techniczna (wymiana bazy)
W tym module między innymi:
Podejście bottom-up. Wyłanianie domeny z rzeczowników i reguł niezmienników.
Wyłanianie niezależnych modeli.
Identyfikacja reużywalnych modeli biznesowych.
Identyfikacja archetypów modeli biznesowych.
Lista lekcji:
1. Wstęp
2. Problem biznesowy
3. Zmiana stanu - rywalizacja o zasoby
4. Analiza przestrzeni problemu - rzeczowniki i reguły
5. Zmiana stanu - rywalizacja o zasoby
6. Modularyzacja na bazie odkrytych pojęć
7. Trzy poziomy logiki
8. Znane problemy biznesowe
9. Metodyka
10. 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:
* 13 modułów,
* pełna implementacja sagi,
* kilka warstw odpowiedzialności,
* różne strategie testowania,
* ... i wiele innych.