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!
Na koniec modele.
To jest taki rodzaj, taki koncept, o którym nie mówiłem jeszcze w tym kursie.
W skrócie mogę powiedzieć, że są to pewnego rodzaju struktury danych,
które mają nam ułatwić szybszy odczyt.
Agreguje nam pewne dane do odczytu.
Mogą być agregatem kilku encji w jednym miejscu.
Często jest on zbudowany z wielu encji lub agregatów i pozwala nam na szybki
odczyt, a ten szybki odczyt umożliwia np.
jedna sterylizowane tabela z bazy danych, gdzie sobie
zapisujemy co jakiś czas taki read.
Model Odświeżamy go na podstawie zdarzeń domenowych albo albo po prostu akcji
w serwisach aplikacyjnych i ten read.
Model będzie zawierał kluczowe biznesowo informacje, więc będziemy mieli tutaj do
odczytu to co faktycznie potrzebujemy, a nie jakiś taki cały naród, który np.
udostępnia nam encje typu timestamp czy jakieś pola pomocnicze.
W kodzie może to wyglądać w ten sposób, że możemy mieć taki read.
Model customer read.
Model ten customer może mieć różnego rodzaju atrybuty jak lojalki points, może
mieć order history i article profile.
To może być kolejny jeszcze model zrealizowany do tego głównego ID modelu,
więc to nic innego jak taki po prostu index album do przeglądania
zagnieżdżonych struktur, który odwzorowuje nam też to, co mamy za modelowane w modelu
domowym w poszczególnych warstwach aplikacji.