Zrozumienie biznesu to klucz do sukcesu programisty
1 godz. 30 min · Full-stack i Programowanie
Rafał PiekaraSoftware KomandosZgłębimy podstawy Domain Driven Design, skupiając się na zrozumieniu, czym jest domena i jakie role pełnią subdomeny w rozumieniu biznesu i projektowaniu oprogramowania. Dowiesz się, jak identyfikować i definiować domenę oraz subdomeny w kontekście biznesowym, co jest kluczowe dla efektywnego modelowania i implementacji systemów.
Skoncentrujemy się na jednym z kluczowych aspektów Domain Driven Design - definiowaniu granic kontekstów (Bounded Contexts). Nauczysz się, jak precyzyjnie wyznaczać te granice, co pozwala na lepszą separację i integrację różnych części systemu. Omówimy, jak wyznaczone granicę wpływają na jasność komunikacji w zespole oraz jak ułatwiają zrozumienie modelu biznesowego.
Spojrzymy na strategiczne wzorce DDD, skupiając się na kluczowych konceptach takich jak Subdomena i Bounded Context. Zrozumienie i umiejętność ich identyfikacji w strukturach biznesowych to podstawowa umiejętność w projektowaniu domenowym. Nie pominiemy też tematów pobocznych jak kontekst schizofreniczny czy Prawo Conwaya. Każdy z tych elementów pomoże Ci lepiej zrozumieć zastosowanie Domain Driven Design w praktyce.
Wzorce taktyczne są fundamentalne dla praktycznego modelowania i implementacji oprogramowania. O ile wzorce strategiczne wyrażają koncepcję, to wzorce taktyczne dotykają, tego, co kochają programiści i programistki czyli kodu. Zobaczysz jak i po co je stosować i jak mogą wspomagać spójność oraz transakcyjność danych.
Wszystko fajnie z tym DDD, ale jak to poukładać? Na to też znalazło się miejsce w kursie. Cały moduł poświęcimy na zapoznanie się z przykładową strukturą, organizacją plików i folderów aplikacji opartej o Domain Driven Design. Nie musisz się już zastanawiać, gdzie upchnąć Twoje klasy. Wszystko stanie się przejrzyste, intuicyjne i oczywiste.
Kurs powstał z myślą o programistach, architektach, liderach technicznych, a także ludziach biznesu, którzy potrzebują pogłębić swoją wiedzę o projektowaniu oprogramowania skoncentrowanego na domenie biznesowej. Niezależnie od tego, czy jesteś na początku drogi z DD, czy masz już trochę doświadczenia i chcesz usystematyzować lub odświeżyć wiedzę - ten kurs jest dla Ciebie!
Idziemy jeszcze głębiej.
Subdomena też nie jest jedynym bytem, który dzieli naszą domenę.
Mamy jeszcze mniejsze aspekty.
I tymi aspektami są właśnie Bandit Konteksty i Bandit Context.
To już jest Core domain driven Design.
To na tym opiera się programowanie domenowe.
Na tym opiera się architektura Domain Design na odpowiednim
wydzielaniu kontekstów.
I czym jest ten Bandit?
Kontekst lub polskie tłumaczenie?
Spotkasz się kontekst ograniczony, ale Bandit Kontekst określa granice
koncepcyjne już wewnątrz subdomeny bandery.
Kontekst jest jasno zdefiniowany i wyznacza niejako definicję modelu domeny,
więc jest realną implementacją, realną definicją modelu domeny owego.
NK postuluje zawiera w sobie model, zawiera w sobie logikę i zawiera
w sobie reguły biznesowe bandery.
Kontekst kontekst jest już mniejszym aspektem, więc Module Delivery
Bandit kontekst będzie dotyczył np.
zarządzania flotą, będzie już mniejszym aspektem całego systemu.
I Wanted kontekst opakowanie tę logikę i opakowanie na model domenowe, posługując
się specyficznym językiem, własnym językiem i własnym modelem, tworzy swój
model domenowe i w bandem kontekście będziemy komunikować się językiem
rozumianym tylko w zakresie tego kontekstu, a pojęcia i terminologia, które
są rozumiane jako język wszechobecny dla całej domeny w Bandit kontekście, nabiorą
znaczeń już charakterystycznych dla problemów, które sam
kontekst będzie realizował.
I kontekst ma taką cechę, że komunikuje się z innymi kontekstami.
Może, lecz nie musi, ale z reguły się komunikuje i sposób komunikacji między
tymi kontekstami stanowi też podstawę odpowiedniej implementacji reguł
biznesowych i komunikacji, przekraczania granic i integracji między kontekstami.
Żeby faktura wystawiona została w momencie, kiedy zamówienie
zostanie sfinalizowane.
Konteksty zamówienia i faktur muszą ze sobą się w jakiś sposób
komunikować i sam kontekst.
Wreszcie strzeżenie zmienników biznesowych strzeże reguł, więc strzeże tych zasad, że
faktura nie zostanie wystawiona, jeśli zamówienie nie zostało opłacone np..
To jest jedna z reguł biznesowych, które będą z kolei zawarte w Bandit kontekście.
A jak to jest wszystko zdefiniowane?
O tym będziemy się uczyć w kolejnych lekcjach.
I Bandit konteksty przez to, że są wydzieloną funkcjonalnością, wydzieloną
specjalizacją domeny specjalizacja aplikacji.
Uwaga!
Może się to kojarzyć z modułem często bound and konteksty.
Fizycznej reprezentacji w tej technologicznej reprezentacji są modułami,
są modułami w aplikacji lub komponentami.
Różnie to jest określane w zależności od technologii, ale właśnie przez to, że są
wydzielone, ułatwiają autonomia zespołów.
Kłania się prawo Conway, o którym będziemy mówić.
Często jest tak, że zespoły zajmują się pojedynczymi bandit Bandit kontekstami.
Albo inaczej Bandit kontekstem.
Jednym Bandit kontekstem zajmuje się tylko jeden zespół.
Nie ma dwóch zespołów pracujących w tym samym kontekście, przez co ten kontekst
może być autonomiczny, jeśli chodzi o dobór technologii, dobór wzorców,
dobór implementacji, cokolwiek.
Sposób komunikacji może być autonomiczny technologicznie, ale też autonomiczny pod
kątem zarządzania, pod kątem budowania i struktury zespołu.