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 😊