Znamy się już co nieco, więc pozwól, że podzielę się z Tobą, jak wyglądał jeden, z moich typowych dni:
Budzik -> Łóżko -> Winda -> Żabka -> Słońce -> Rower -> Piwnica -> Praca -> Kawka -> Dom -> Schody -> Winda -> Kurs programowania -> itd...
Chciałbym widzieć Twoją reakcję, kiedy to czytasz :) Z pewnością nie często słyszysz opowieść w takiej formie. Czy jesteś w stanie powiedzieć dokładnie co i kiedy robiłem?
Zastosowałem tutaj niestety powtarzane jak mantra na wielu kursach, czy też na studiach "szukajcie rzeczowników". Mnie tak uczyli i Ciebie pewnie też. Tak uczą przez lata, a jednak branża IT idzie do przodu. 5 lat to już często prehistoria. Co mówili prowadzący? W skrócie: Czytasz, podkreślasz rzeczowniki, zamykasz je w kwadraciki. Potem robisz odpowiednie strzałeczki między nimi i model gotowy! To wszystko doprawione jeszcze notacją niezrozumiałego UMLa. Każdy mniej więcej tak zaczynał, ja też (czuję misję, żeby właśnie zmienić ten status quo).
Niestety na początku wpajano nam te złe nawyki, które teraz ciężko porzucić. Nie tak będzie na tym mailingu. Dzisiaj zaczniemy poznawać metodę, która zmieniła programistyczne życie moje i wielu innych praktyków DDD! EventStorming nie raz wywrócił do góry nogami założenia projektów za miliony EURO — jak mówi największy ekspert w Polsce — Mariusz Gil.
Tabelka i strzałeczki. Czy to jest właśnie legendarny model? Model danych... być może. Model domenowy, o który chodzi w DDD, skupiony na zachowaniach i zdarzeniach — z pewnością NIE! To nie rzeczowniki budują rozumienie. Wszystkie je trzeba osadzić w odpowiednim kontekście, o którym rozważaliśmy ostatnio. Podkreślmy to jeszcze raz. NIE ZACZYNASZ PROJEKTOWANIA SYSTEMU OD MODELU DANYCH.
Jak od każdej reguły jest też wyjątek (jeśli robisz CRUD). Ale zazwyczaj modelujesz jakiś proces biznesowy - za to Ci płacą. Więc powtórzę jeszcze raz (nawet jak scrollujesz maila, to mam nadzieję, że tutaj się zatrzymasz): NIE ZACZYNASZ PROJEKTOWANIA SYSTEMU OD MODELU DANYCH.
Jeśli tak zrobisz, to z pewnością powstanie jedne wielki model i nie będzie w nim wydzielonych kontekstów. Takie coś jest do wszystkiego i do niczego zarazem. NIE ZACZYNASZ PROJEKTOWANIA SYSTEMU OD MODELU DANYCH. To chyba najważniejsze zdanie tego tekstu. Teraz możesz je kontemplować już do końca :)
Mógłbyś teraz zapytać: ale Mateusz, skoro tak nie robić — no to jak żyć? Czas posłuchać Mistrza Yody i pójść za jego radą: "You must unlearn what you have learned". Skoro tak, i chcesz się oduczyć swoich złych nawyków, to odpowiedź jest już w Twoim zasięgu, czytaj dalej :)
|