Dzięki tym warsztatom zrozumiesz, że Domain-Driven Desing to nie tylko tworzenie klas zgodnych z OOP, stosowanie wzorców projektowych i pisanie kodu dla niego samego. Poznasz cele i główne zalety podążania za Domian-Driven Design, a także cenne wskazówki, na które aspekty modelowania należy położyć nacisk.
Przejdziesz cały proces, który skutecznie pozwoli Ci poznać problem, który następnie precyzyjnie zaadresujesz konkretnym rozwiązaniem.
Wspólnie z ekspertami domenowymi wykształcisz język wszędobylski, który stanie się Twoim orężem do skutecznej komunikacji z mitycznym “biznesem”. Korzystając z piktograficznych technik eksploracji domeny (jak np. Event Storming, Example Mapping, Domain Storytelling) wspólnie z zespołem odkryjesz meandry procesów biznesowych i doświadczysz jak istotną rolę odgrywa analiza w całym procesie wytwarzania oprogramowania. Nie sztuką jest bowiem “narąbać” tysiące linii kodu, które przy wykorzystaniu masy wzorców projektowych pozornie poprawiają “elastyczność” systemu. Elastyczność bowiem nie wynika jedynie z umiejętności programowania, ale także z przewidywania kierunku rozwoju organizacji i przede wszystkim… z dogłębnego zrozumienia istoty problemu, który nasz system ma adresować. Po przejściu przez proces eksploracji domeny zrozumiesz, że najlepszy kod to taki, który nigdy nie powstał.
Za pomocą szeregu heurystyk wydzielisz subdomeny biznesowe systemu, które po odpowiednim sklasyfikowaniu, dostarczą Ci niezbędnej wiedzy do skutecznego zaprojektowania Bounded Contextów. Nauczysz się technik ich skutecznej integracji oraz stworzeniu odpowiednich wzorców współpracy pomiędzy zespołami projektowymi przy wykorzystaniu map kontekstów. To dzięki temu etapowi Twój system nie będzie cierpieć w przyszłości z powodu słabo zdefiniowanych granic, co może mieć negatywny wpływ na jakość oraz elastyczność rozwiązania.
Zwieńczeniem naszej pracy będzie przejście na poziom taktyczny — poznasz wszystkie wzorce, ich przeznaczenie oraz praktyczne przykłady użyte w kodzie. Zobaczysz, jak model domeny jest budowany od podstaw poza kodem i jak zostaje następnie przeniesiony się do faktycznej implementacji.
To szkolenie nie jest tylko kolejnym przewodnikiem po implementacji fabryk, polityk i agregatów. Jest to kompleksowy program, którego celem jest przede wszystkim nauczenie myślenia o kodzie w sposób domenowy i wyposażenie w szereg narzędzi (nieosadzonych w kodzie, ale w głowie), które skutecznie wydobywają esencję z labiryntu często niejasnych i „sztucznych” wymagań biznesowych.
Dzień 1/2
Dzień 3
Dzień 4
Każdy programista skorzysta z tych warsztatów! Zaczynając od fundamentalnych zagadnień, przechodzimy przez wszystkie aspekty zarówno strategicznego, jak i taktycznego DDD. Przykładowy kod będzie wymagać podstawowej znajomości C#/ASP.NET Core.
Dariusz Pawlukiewicz
Współzałożyciel DevMentors.io, konsultant, inżynier oprogramowania, architekt w EcoVadis. Entuzjasta Domain-Driven Design oraz systemów rozproszonych. Ex-Microsof MVP oraz prelegent na konferencjach branżowych.
Michał Wilczyński
Współtwórca DevMentors.io, konsultant, inżynier oprogramowania, architekt w EcoVadis. Entuzjasta Domain-Driven Design oraz systemów rozproszonych.