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!
Skoro Domain Driven design, programowanie sterowane domeną, to musimy
się skupić na pojęciu domeny.
Samo pojęcie domena jest w centrum Domain Driven Design, jak sama nazwa
wskazuje i czym jest tutaj domena?
Czym jest domena w rozumieniu DDD?
Domena w architekturze oprogramowania to pewien zakres wiedzy, sfera wiedzy,
działalności, operacji logicznych, aktywności jest pewnym tematem aplikacji,
w ramach którego ta aplikacja operuje, w ramach którego pilnuje nie zmienników
biznesowych i w ramach której rozwiązuje też problemy klientów.
Więc domena to inaczej rzecz mówiąc np. branża.
Możemy to uprościć do pojęcia branży.
Domeną programisty jest pisanie kodu.
Domeną grafika komputerowego jest projektowanie interfejsów.
Domeną firmy budowlanej będzie wznoszenie budynków.
Więc domenę można jeszcze bardziej uprościć do pojęcia biznes.
Czym jest domena? Jest to pewna część.
Część biznesu, która wywodzi się z potrzeb biznesowych.
Wywodzi się z wymagań biznesowych, z problemów, które rozwiązuje i zawiera w
sobie logikę biznesową i pewne reguły.
Te reguły biznesowe, które zawiera domena i potrzeby, są reprezentowane przez tzw.
model domen.
Owy model domenowe, czyli reprezentacja potrzeb biznesowych już w formie
architektury oprogramowania w formie takiej abstrakcji, która opisuje wybrane
aspekty domeny, by rozwiązywać problemy, które ta domena adresuje.
Problemy biznesowe, które adresuje i domena wyznacza nam architekturę systemu,
wyznacza nam wręcz wybory architektoniczne, bo rozumienie tej domeny
pomaga podejmować decyzje architektom oprogramowania, pomaga wybierać
odpowiednie narzędzia, wybierać odpowiednie frameworki.
Generalnie nadaje kierunek architekturze.
Co więcej, domena też ewoluuje.
Domena nie jest czymś, co jest stałe raz na zawsze.
Tak jak biznes ewoluuje, ewoluuje świat, ewoluuje gospodarka, tak i domena
będzie się zmieniać, będzie elastyczna.
Domena musi być dostosowywana.
I model domenowe, czyli te wszystkie reguły zawarte w domenie
muszą być dostosowywane.