Jak zacząć z DDD (Domain Driven Design) – materiały

Cześć,

Dziś podzielę się z Tobą ciekawą listą materiałów o DDD, czyli Domain Driven Design. Jest to podejście do tworzenia oprogramowania przydatne wtedy, kiedy domena nad którą pracujemy jest skomplikowana. Jednocześnie nie zalecane do trywialnych części aplikacji w stylu „encje na twarz i pchasz” czyli typu CRUD. Ułatwia pracę z kodem jak i… klientem :-). Temat, którym na pewno warto się zainteresować.

Skąd pomysł na tę listę? Podczas kilku firmowych technicznych spotkań, DDD było cieszącym się największym zainteresowaniem tematem. Wzbudziło też kilka fajnych dyskusji. Nie każdy miał styczność z tym konceptem, dlatego chce Ci go przybliżyć.

W związku z tym, dla zainteresowanych tym tematem przygotowałem listę materiałów wprowadzających do DDD, z których sam korzystam bądź korzystałem. Konsultowałem tę listę też z kolegami, aby mieć pewność, że nic ciekawego dla początkujących mi nie umknęło. Nie jest to cała potrzebna wiedza, ale bardzo dobry początek. Materiały są w różnej formie tak, żeby każdy znalazł coś dla siebie. Lista jest bardzo subiektywna, jeśli znasz temat i chciałbyś ją rozwinąć, albo znalazłeś ciekawe materiały sam – podziel się w komentarzu 🙂


Darmowy ebook:
Na początek chciałem Cię gorąco zachęcić do przeczytania darmowego ebooka (104 strony), który dość fajnie i mocno podsumowuje temat. Jest on napisany na podstawie książki twórcy DDD (a czemu warto przeczytać najpierw tego ebooka zamiast pełnej książki napiszę później):

„Domain Driven Design Quickly”
Jest to darmowy ebook, do znalezienia w Google. Można ściągnąć z Infoq po rejestracji, można z
http://bit.ly/1ZZ97ho
Dlaczego warto? Bo skupia się nie tylko na technicznych aspektach, ale na tych najważniejszych w DDD – komunikacji. Jest też łatwiejszy do przyswojenia niż pełna książka, dlatego warto zacząć od niego.


Kursy na pluralsight:
https://app.pluralsight.com/library/courses/domain-driven-design-in-practice/table-of-contents

https://app.pluralsight.com/library/courses/domain-driven-design-fundamentals/table-of-contents
Każdy po 4 godziny, oba ciekawie i oba inaczej tłumaczą pewne aspekty. Fajnie się uzupełniają nawzajem.


Blog:
Gorąco polecam, bez względu na zainteresowanie DDD, pełno tam dobrych praktyk.
http://enterprisecraftsmanship.com/
Skupia się na aspektach technicznych, przydatnych nie tylko przy DDD. Gość fajnie pisze i daje sporo przykładów. Jest też autorem jednego z powyższych kursów na pluralsight.


Materiały po polsku:
Polskim „szpecem” od DDD jest Sławek Sobótka. Generalnie nie będę polecał nic konkretnego, wystarczy wpisać na YouTube i wybrać wystąpienie. Warto posłuchać, także talków o nie DDD ale umiejętnościach miękkich. Do tego na stronie poniżej jest do pobrania za darmo sporo materiałów w tym Javowy projekt:
http://www.bottega.com.pl/artykuly-i-prezentacje
Bonus: godzinny podcast:
http://devtalk.pl/2014/12/04-o-domain-driven-design-ze-slawomirem-sobotka/


Meetup:
Zapraszam tez zainteresowanych na spotkania meetupu DDD Kraków http://www.meetup.com/DDD-KRK/ niestety dawno nie było organizowane :(. Myślę, że znajdziesz podobne spotkania organizowane w większych miastach.


Książki:
Wspomniany na początku twórca DDD Eric Evans napisał książkę
„Domain-Driven Design: Tackling Complexity in the Heart of Software”.
Nie polecam jej jednak na początku, gdyż zaczyna od aspektów technicznych, które są mniej ważne, a także jest napisana w dość nieprzystępny sposób. Pióro autora lekkim nie jest;) Jest to jednak dobra pozycja, żeby później zgłębić wiedzę.
Mogę tez polecić książkę którą napisał Vaughn Vernon
„Implementing Domain-Driven Design”
Ona również trochę ciężkim materiałem jak na początek będzie.
Kolejna pozycja książkowa to
„Patterns, Principles, and Practices of Domain-Driven Design” Scotta Milletta.
Bardzo praktyczna z ciekawymi przykładami.

Jeśli znasz jeszcze coś ciekawego co możesz polecić, zachęcam do zamieszczenia w komentarzach.

Jedno przemyślenie nt. „Jak zacząć z DDD (Domain Driven Design) – materiały

Dodaj komentarz