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!
Kończymy wstęp do Domain Driven Design, poznać podstawowe wzorce strategiczne i
praktyczne podstawy Domain Driven Design, które pozwalają Ci wejść na drogę
architekta oprogramowania i zgłębiać ten temat.
Więc co dalej? Co dalej możesz robić od tego momentu?
Przede wszystkim ucz się dalej zaawansowanych koncepcji
Domain Driven Design.
Korzystaj z materiałów, książek i tutoriali.
Przerób jeszcze raz ten kurs.
Możesz przerobić go na innych przykładach praktycznych, próbować zaimplementować TDD
w swoim projekcie albo poszukać pracy, która będzie zapewniać
rozwój w tym kierunku.
Zdobywaj praktyczne doświadczenia w projektach bez praktycznego doświadczenia.
To jest tylko sucha teoria, wręcz filozofia, której nie da się
praktykować tylko czytając książkę.
Jak sama nazwa wskazuje, musisz ją praktykować po prostu tworząc projekty,
pracując w projektach, implementując właśnie TDD.
Więc dołącz do społeczności Domain Driven Design.
Jest dużo społeczności na świecie i w Polsce, którzy spotykają się na etapach,
mają kanały na Discordzie grupy Online Meeting i naprawdę jest od
kogo się uczyć, od kogo czerpać wiedzę i jest kim się inspirować.
I takie społeczności naprawdę dynamicznie działają, więc warto do nich dołączyć.
Warto się zainteresować, jeśli ten koncept jest dla Ciebie wciąż istotny.
No i wreszcie oprócz praktyki warto analizować analizy, różne case studies.
Analizuj success stories projektów napisanych w Domain Driven Design.
Na GitHubie znajdziesz duże repozytorium w różnych technologiach, gdzie różne
przykłady implementacji TDD są zademonstrowania, więc
możesz się inspirować.
Możesz podglądać wzorce, podglądać nawet kawałki kodu, które świetnie będą
się nadawać do Twoich projektów.
Ucz się, rozwijaj i mam nadzieję, że widzimy się gdzieś dalej na drodze
architekta oprogramowania, na którą teraz wkraczasz i rozwijasz się w
kierunku Domain Driven Design.