102. State Obsession - EDA /Anti/Patterns
W poprzednim odcinku mówiliśmy o przesadnej szczegółowości eventów. Tym razem uderzamy w drugą stronę — w stronę zdarzeń-worków, które zamiast o biznesie, mówią nam tylko o tym, że "coś się w bazie zmieniło". Razem z Oskarem bierzemy na tapet CRUD-sourcing, często nazywany też obsesją stanu. State Obsession to sytuacja, w której zamiast faktów takich jak EmailConfirmed czy PersonalDocumentVerified, Twój system wypluwa generyczne UserUpdated. Na pierwszy rzut oka wygląda to na ułatwienie, ale w praktyce to prosty przepis na wyciek szczegółów implementacyjnych i utratę intencji użytkownika. Zapraszam na stronę https://bettersoftwaredesign.pl, gdzie znajdziesz jeszcze więcej materiałów.
Nikt się raczej w cyrku nie śmieje, kto próbuje to skorelować i zrozumieć, co się dzieje. Aż mnie w tym momencie stanął przed oczami kilka projektów, w których ostatnio miałem okazję uczestniczyć. Zastanawialiśmy się właśnie nad zapięciem Kawki, Dibizjum, żeby przechwytywać pewne zmiany, ale okazało się, że zrozumienie biznesowego znaczenia tego, co oznacza ta zmiana, nie tędy droga. Łatwiej będzie to jednak spotkać się z biznesem i chwileczkę porozmawiać, niż robić inżynierię wsteczną, bo to... Czym de facto jest ta zmiana twojego rekordu? Jest 17 tabel dalej. Dokładnie, dokładnie. No i to są bardzo fajne narzędzia i technicznie może nam to bardzo ułatwić tego typu użycie właśnie CDC, Kafka czy też innych szyn, które mają wsparcie tego CDC. Tylko jeżeli i tak musimy skorzystać z tych takich wzorców typu Outbox Pattern, jeżeli byśmy sobie mieli taką tabelę, do której wrzucamy te nasze zdarzenia, które coś mówią biznesowo i na tą tabelę sobie zapięli takie CDC, no to to jest naprawdę bardzo fajne techniczne rozwiązanie publikowania tych wiadomości dalej i zapewnienia
Pokazano wszystkie 1 dopasowanie. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.
Kliknij, aby znaleźć fragmenty, w których pada.
W poprzednim odcinku mówiliśmy o przesadnej szczegółowości eventów. Tym razem uderzamy w drugą stronę — w stronę zdarzeń-worków, które zamiast o biznesie, mówią nam tylko o tym, że "coś się w bazie zmieniło". Razem z Oskarem bierzemy na tapet CRUD-sourcing, często nazywany też obsesją stanu.
State Obsession to sytuacja, w której zamiast faktów takich jak EmailConfirmed czy PersonalDocumentVerified, Twój system wypluwa generyczne UserUpdated. Na pierwszy rzut oka wygląda to na ułatwienie, ale w praktyce to prosty przepis na wyciek szczegółów implementacyjnych i utratę intencji użytkownika.
Zapraszam na stronę https://bettersoftwaredesign.pl, gdzie znajdziesz jeszcze więcej materiałów.