Mentionsy

Better Software Design
Better Software Design
09.09.2025 23:00

98. O agregatach, eventach i Dynamic Consistency Boundary z Pawłem Pacaną

W świecie Domain-Driven Design, Agregat jest powszechnie uznawany za jeden z fundamentalnych wzorców odpowiedzialnych za spójność danych. To on wyznacza granicę transakcyjną, wewnątrz której pilnujemy niezmienników biznesowych, gwarantując integralność naszego modelu. Ale co w sytuacji, gdy ta z góry zdefiniowana, statyczna granica staje się pewnym ograniczeniem?

Czy w każdym procesie biznesowym potrzebujemy dokładnie tego samego, silnego poziomu spójności i czy sztywny podział na agregaty zawsze idealnie odzwierciedla dynamiczną naturę problemu, który modelujemy?

Okazuje się, że możemy podejść do tego zagadnienia w bardziej elastyczny sposób. W tym odcinku, wraz z moim gościem, Pawłem Pacaną z firmy Arkency, dokładnie przyjrzymy się koncepcji Dynamic Consistency Boundary. Porozmawiamy o tym, jak można myśleć o spójności nie jako o statycznej, raz ustalonej granicy, ale jako o koncepcji, która dopasowuje się do kontekstu konkretnej operacji biznesowej.

W tym odcinku usłyszysz między innymi o:

trudnościach w projektowaniu i długoterminowym utrzymaniu agregatów w systemieDynamic Consistency Boundary i czym ten wzorzec różni się od klasycznego podejścia z agregatemtagowaniu i linkowaniu zdarzeń pomiędzy strumieniamiwymaganiach dla event-store, aby stosowanie Dynamic Consistency Boundary było w ogóle możliwe pułapkach, na które należy zwrócić szczególną uwagę, by wykorzystanie DCB nie stało się problem

Materiały dodatkowe do tego odcinka znajdują się na stronie tego odcinka na bettersoftwaredesign.pl.

YouTube Alert! Odcinki podcastu są także dostępne na moim kanale na YouTube. Warto zasubskrybować, aby być na bieżąco z kolejnymi odcinkami.

Szukaj w treści odcinka

Znaleziono 11 wyników dla "Dynamic Consistency Boundary"

Ale równie dobrym rozwiązaniem tego problemu byłby koncept Dynamic Consistency Boundary, o którym będę dziś rozmawiał z Pawłem Pacanu.

Dokładnie, bo będziemy rozmawiać o Dynamic Consistency Boundary.

No właśnie, historia i tło tego zainteresowania też jest takie konferencyjne, bo temat Dynamic Consistency Boundary pojawiał się w jakichś rozmowach kuluarowych, na meetupach i na konferencjach.

To jest ciekawe, że żeby wyjaśnić dynamic consistency boundary, potrzebujemy takiego antagonistę i przypisać mu dużo negatywnych cech, żeby pokazać, jak dobre jest to może konkurencyjne rozwiązanie, albo jak mogłoby być dobre.

Czy dynamic consistency boundary wnosi tak dużo, jest takim przełomem, jak sugerowałaby prezentacja Kill the Aggregate?

Dynamic Consistency Boundary to ma być taka technika, która pozwala nam zapewniać spójność w systemach opartych o zdarzenia i w ramach tego zapewnienia spójności nie musimy polegać na sztywnej granicy tej spójności, tak jak mamy to w agregacie.

Natomiast już dzisiaj, jeżeli chcemy poeksplorować same przykłady DCB na takim systemie, który nie jest produkcyjny i problemy ze współbieżnością tam nie będą występować, no to sam problem, który Sara Pelegirni używa do przedstawienia konceptu dynamic consistency boundary, czyli studenci i kursy,

Obok jest drugie narzędzie Dynamic Consistency Boundary.

Przynajmniej tak patrząc z mojej perspektywy, dynamic consistency boundary może być dla mnie ciekawe, jeżeli dopiero wchodzę do jakiegoś projektu, on jest nowy, jeszcze nie ma tego wszystkiego, powiedzmy, strony biznesowej bardzo mocno okrzepniętego i to tak naprawdę ewoluuje.

A gdyby ktoś chciał tak rozważyć właśnie użycie takiego konceptu jak dynamic consistency boundary w swoim projekcie, jakiej wiedzy by tak naprawdę potrzebował?

I podobną koncepcję mamy do repozytorium dynamic consistency boundary, gdzie mamy jeden przykład i tą implementację na razie typescriptową przeniesioną 1 do 1 do Ruby'ego, ale pojawi się tam też implementacja bardziej idiomatyczna Ruby'owa.