w ,

FajneFajne Że co?Że co? WnerwWnerw SmuteczekSmuteczek

Domain Driven Design – krótki kurs #01

Co to?

To początek nowej serii, która przybliży Ci czym jest DDD. Mimo, że temat jest często powtarzany i odsmażany jak kotlet, to postaram Ci go opowiedzieć na nowo, zupełnie z innej perspektywy. Tak, aby było mniej teoretycznie, mniej naukowo, a jak najbardziej przystępnie 😊

Czym jest Domain Driven Design?

Wyobraź sobie miasto. DDD pozwala rozpatrywać je z punktu widzenia całej aglomeracji jak i pojedynczego domostwa, które wchodzi w skład miasta.

Są to dwa poziomy DDD:

  • Projektowanie strategiczne/Strategic design (punkt widzenia całego miasta)
  • Projektowanie taktyczne/Tactical design (punkt widzenia mieszkania)

Projektowanie strategiczne – Strategic design

Projektowanie strategiczne składa się również na szeregi innych elementów:

  • Generic Subdomain
    • Obejmuje ona cześć systemu, którego zadaniem jest prowadzenie biznesu, ale nie stanowi ona podstawy działalności. Przykładem jest tu system dostaw. Zakładamy, że przykładowa firma zajmuje się sprzedażą ubrań. Z punktu widzenia dostarczenie produktu do klienta jest bardzo istotną kwestią jednak nie jest ona kluczowa dla firmy.
  • Supporting Subdomain
    • Stanowi wszystko to co pomaga firmie dobrze prosperować. Czyli np. wdrożenie do firmy frameworku pozwalającego na sprawne zarządzanie zespołami i pracownikami.
  • Core Domain
    • To na czym firma zarabia. To co we firmie ma najwyższy priorytet i stanowi największą wartość.

Projektowanie taktyczne – Tactical design

To wszystko to co ma się znajdować w domostwie. Na dobrą sprawę projektowanie strategiczne i taktyczne są ze sobą silnie skorelowane. Projektowanie taktyczne często nawiązuje do osoby/zespołu realizującego poszczególne zadanie.

Co dalej?

W następnej części tego kursu przybliżę Ci kolejne pojęcia, które stopniowo wprowadzą Cię w głębsze zrozumienie DDD 😊

Napisane przez Przemysław Bykowski

Aktywny programista i energiczny trener. Specjalizuje się w Spring Boot i uczę go w ramach AkademiaSpring.pl. Po godzinach udzielam się na YouTubach. Więcej o mnie.

Dodaj komentarz

Basic authentication, OAuth2, JWT – ebook

JVM – jak podejrzeć zmienne i wątki działające w aplikacji