Typowa implementacja CQRS wygląda mniej więcej tak: Użytkownik wysyła jakieś command albo query, potem to wpada do busa, który używa odpowiedniego handlera, obsługującego to zapytanie i w sumie tyle. Brzmi prosto i sesnownie tylko jest jeden taki problem, że powstają klasy o długich i skomplikowanych nazwach typu "CreateOrderCommandHandler implements CommandHandler". Dlatego właśnie szukam jakiś sensownych alternatyw dla nazw i póki co to wymyśliłem coś takiego: Od użytkownika leci po prostu jakieś dto
Wszystko
Najnowsze
Archiwum
2
Fakty i mity o CQRS (Oskar Dudycz)

CQRS jest uważany za przekomplikowany i niepraktyczny wzorzec. Obrosło dookoła niego mnóstwo nieporozumień. Zobacz czy faktycznie musisz mieć wiele baz danych, Event Sourcing, Clean Architecture i Kafkę, żeby go używać.
z- 0
- #
- #
- #
- #
- #
@Edelner: Nie żeby coś ale wbije trochę kij w mrowisko, przecież chyba po to właśnie tworzymy te sugestywne nazwy klas (CreateSthCommand, GetSthQuery) żeby na pierwszy rzut oka wiedzieć po co ta klasa jest i że dane w tej klasie będą wykorzystane tylko i wyłącznie do przetworzenia tej jednej akcji, wtedy mamy pewność że nie rzucamy sobie tym commandem czy też query po całym systemie jak to ma miejsce w Dto'sach.
@Edelner: Tragiczny pomysł query i command to nie dto - dwie konceptualnie zupelnie inne rzeczy sufixQuery i Command bym zostawił, prefix get można usunąć z query chociaż nie polecam, w handlerach można zlikwidować słowo query i command i nie pozbawia to ich czytelności. Ważne żeby nie robić smurf coding to prowadzi do tragicznych nazw np w namespace customerOrders lub customers nie trzeba każdego orderu prexiksowac na zasadzie GetCustomerOrdersHandler GetLastCustomerOrderHandler wystarczy
Jak się ma CQRS do Resta? W rest metoda post powinna zwrócić zasób, co się kłóci z CQRSEM, bo commandy nie powinny nić zwracać.
#programowanie #cqrs #rest
#programowanie #cqrs #rest
- 7
#prasowkadev 31 sierpnia 2019 roku
Zbiór kryteriów, które pomagają wybrać odpowiednie narzędzia #programowanie
https://medium.com/the-new-agilist/how-to-choose-the-right-programming-languages-and-frameworks-for-your-project-d04271717
Kilka słów o pair-programming #naukaprogramowania
Zbiór kryteriów, które pomagają wybrać odpowiednie narzędzia #programowanie
https://medium.com/the-new-agilist/how-to-choose-the-right-programming-languages-and-frameworks-for-your-project-d04271717
Kilka słów o pair-programming #naukaprogramowania
0
Wprowadzenie do CQRS

Cześć wam właśnie zaczyna się nowy dział o CQRS śledzcie i dajcie znać co o tym myślicie oczywiście wszelkie uwagi co do części merytorycznej czy formy mile widziane :)
z- 2
- #
- #
- #
- 9
#prasowkadev 3 sierpnia 2019 roku
12 funkcjonalności #github , o których być może nie miałeś pojęcia
https://hackernoon.com/12-cool-things-you-can-do-with-github-f3e0424cf2f0
Czy zastanawiałeś się na ile sposobów możesz zarabiać pieniądze znając #programowanie ?
https://dev.to/florinpop17/ways-to-make-money-as-a-developer-11fb
12 funkcjonalności #github , o których być może nie miałeś pojęcia
https://hackernoon.com/12-cool-things-you-can-do-with-github-f3e0424cf2f0
Czy zastanawiałeś się na ile sposobów możesz zarabiać pieniądze znając #programowanie ?
https://dev.to/florinpop17/ways-to-make-money-as-a-developer-11fb
Siema Mireczki, chciałbym into cqrs + es przy użyciu spring cloud stream + kafka trochę już o tym poczytałem ale tylko to zrodziło więcej pytań mianowicie załóżmy, że mamy zwykłą rejestrację użytkownika plus jego późniejszą autentykacje, czyli założenie konta + credentali (login/haslo) + wysłanie linka z potwierdzeniem i po aktywacji konta i podaniu login/hasło wygenerowanie jwt.
Logiczne wydaje się to rozbicie na 3 serwisy
- user serivce
- auth service
Logiczne wydaje się to rozbicie na 3 serwisy
- user serivce
- auth service
Komentarz usunięty przez autora
- 0
@interface: no a jak zrealizować eventsource'ing bez tego ? raczej ciężko by odbudować stan aplikacji na podstawie eventów jeśli będzie ich za mało ?
Znacie jakieś godne polecenia artykuły, tutoriale dotyczące CQRS? Głównie piszę w #php chociaż nie wiem czy robi to jakąś różnicę jeśli chodzi o sam wzorzec.
#programowanie #cqrs
#programowanie #cqrs
Czy CQRS i Event Sourcing są lekiem na całe zło? Michał Kanak rzetelnie o potencjalnych problemach tego rozwiązania
https://bulldogjob.pl/news/515-event-sourcing-czy-to-zawsze-wlasciwa-droga
#programowanie #technologia #java #php #cqrs #backend
https://bulldogjob.pl/news/515-event-sourcing-czy-to-zawsze-wlasciwa-droga
#programowanie #technologia #java #php #cqrs #backend
źródło: comment_WdjeJq7Xr7HmrOi0A96p9Of90CMp6sEQ.jpg
PobierzNa #devstyle o #cqrs. Jak pogodzić kontrakt komendy (void) z faktem, że czasem trzeba zwrócić jakiś wynik?
http://devstyle.pl/2016/11/29/jak-zwrocic-rezultat-wykonania-komendy-w-cqrs/
W tekście "CQRS+DI w C# i Autofac" pokazałem, że CommandHandler nie zwraca żadnego rezultatu wykonania komendy. Natomiast w "Esencja CQRS" pisałem, że jest to jedna z zasad, co do której można się spierać. Więc... jak to faktycznie jest? Jak zwrócić rezultat wykonania komendy w CQRS?
Zapraszam na
http://devstyle.pl/2016/11/29/jak-zwrocic-rezultat-wykonania-komendy-w-cqrs/
W tekście "CQRS+DI w C# i Autofac" pokazałem, że CommandHandler nie zwraca żadnego rezultatu wykonania komendy. Natomiast w "Esencja CQRS" pisałem, że jest to jedna z zasad, co do której można się spierać. Więc... jak to faktycznie jest? Jak zwrócić rezultat wykonania komendy w CQRS?
Zapraszam na
- 3
Od ostatnich miesięcy bawię się z mikroserwisami i napisałem na ten temat kilka (być może błędnych, a być może poprawnych) uwag.
http://piotrgankiewicz.com/2016/11/28/so-ive-been-doing-microservices/
#programowanie #programista15k #dotnet #csharp #blog #spetz #informatyka #mikroserwisy #cqrs
http://piotrgankiewicz.com/2016/11/28/so-ive-been-doing-microservices/
#programowanie #programista15k #dotnet #csharp #blog #spetz #informatyka #mikroserwisy #cqrs
Kto nie słyszał o #cqrs? Pewnie słyszała większość. Komplikacji narosło na tym koncepcie cała masa przez ostatnie lata. A ESENCJA CQRS jest... naprawdę prosta. Zapraszam:
http://devstyle.pl/2016/11/23/esencja-cqrs-to-bardzo-proste/
#programowanie #devstyle #technologia #informatyka
http://devstyle.pl/2016/11/23/esencja-cqrs-to-bardzo-proste/
#programowanie #devstyle #technologia #informatyka
Dziś na #devstyle poważne #programowanie : #cqrs i #dependency-injection . Kodzik, kodzik, kodzik!
http://devstyle.pl/2016/11/10/cqrsdi-implementacja-w-c-i-autofac/
http://devstyle.pl/2016/11/10/cqrsdi-implementacja-w-c-i-autofac/
[ #csharp #dotnet #programowanie #dotnetnews #maavfeed ]
#devops
Miłosz Zięba - TeamCity – Build server
#cqrs
#devops
Miłosz Zięba - TeamCity – Build server
#cqrs
- 2
@Maav: Ten Zieliński to jest tragedia jakaś.
Jak mu się nie chce pisać to niech da sobie spokój.
Jak mu się nie chce pisać to niech da sobie spokój.
- 0
@budyn: Też jestem nim ostatnio zawiedziony trochę. Bardzo krótkie artykuły; jakieś śmieszne artykuły o Unity3D, kilkuzdaniowe teksty o testach, które nic nie wnoszą.
Lessa wrzuciłem, bo uznałem, że to ciekawe wprowadzenie i napisał te 3 artykuły. Jak się je postawi obok siebie, to jest trochę treści.
Lessa wrzuciłem, bo uznałem, że to ciekawe wprowadzenie i napisał te 3 artykuły. Jak się je postawi obok siebie, to jest trochę treści.
- 1
W event sourcingu możemy zdefiniować wiele handlerów dla jednego typu zdarzenia. Jaką konwencję organizacyjną handlerów przyjęlibyście w takiej sytuacji:
System A wysysła do B wiadomość. System B po odebraniu wiadomości emituje zdarzenie MessageReceived. W wyniku tego zdarzenia mają wykonać się następujące operacje:
- zapis informacji do logu aplikacji o odebranej wiadomości,
- umieszczenie wiadomości w kolejce, skąd zostanie odebrana przez inny system
- wysłanie informacji o odebranej wiadomości do serwisu odpowiedzialnego za monitorowanie obsługiwanych zdarzeń w
System A wysysła do B wiadomość. System B po odebraniu wiadomości emituje zdarzenie MessageReceived. W wyniku tego zdarzenia mają wykonać się następujące operacje:
- zapis informacji do logu aplikacji o odebranej wiadomości,
- umieszczenie wiadomości w kolejce, skąd zostanie odebrana przez inny system
- wysłanie informacji o odebranej wiadomości do serwisu odpowiedzialnego za monitorowanie obsługiwanych zdarzeń w
źródło: comment_Z8kISSVB9OfJ2yRUUpdxx7usuXWd5L7V.jpg
Pobierz[ #csharp #dotnet #programowanie #dotnetnews #maavfeed ]
Ostatnio miałem super mało czasu i ochoty na prowadzenie tagu. Dzisiaj powinniśmy to nadrobić trochę.
#designpatterns
Sebastian Gębski - The most undervalued of all patterns
Ostatnio miałem super mało czasu i ochoty na prowadzenie tagu. Dzisiaj powinniśmy to nadrobić trochę.
#designpatterns
Sebastian Gębski - The most undervalued of all patterns
@Maav: ciekawe te local functions. Dlaczego dopiero teraz i co argumentowało za tym by je zrobić? Nie pisałem poważnych systemów żeby móc to dobrze ocenić ale czasem brakowało mi takiej rzeczy. Możliwości zdefiniowania funkcji, żeby w dalszym bloku jej użyć kilkukrotnie, ale z kolei nigdzie indziej już tego nie potrzebowałem i szpeciła metoda w klasie. Obchodziłem się z tym tak, że tworzyłem Actiony, ale dla totalnego ładu i składu brakowało
- 1
@fenix7557: Tu masz chyba lepsze streszczenie niż ja bym zrobił:
https://github.com/dotnet/roslyn/issues/2930
https://github.com/dotnet/roslyn/issues/2930
[ #csharp #dotnet #programowanie #dotnetnews #maavfeed ]
Wiem, że w zeszłym tygodniu mnie nie było, ale ja miałem dużo zajęć, a i ciekawych artykułów było mało.
Dzisiaj to nadrabiamy.
#yeoman
Jakub Gutkowski - Co to jest Yeoman? Część 2
Wiem, że w zeszłym tygodniu mnie nie było, ale ja miałem dużo zajęć, a i ciekawych artykułów było mało.
Dzisiaj to nadrabiamy.
#yeoman
Jakub Gutkowski - Co to jest Yeoman? Część 2
- 5
dzisiaj nowy odcinek #devtalk, tym razem po angielsku bo występuje prawdziwy dev-arch-celeb: Udi Dahan!
Temat: #cqrs
Zapraszam: http://devtalk.pl/2015/04/14-cqrs-with-udi-dahan/
#programowanie
Temat: #cqrs
Zapraszam: http://devtalk.pl/2015/04/14-cqrs-with-udi-dahan/
#programowanie















Czasami opieranie wszystkiego, zwłaszcza CRUD encji o CQRS nie ma sensu, a najchętniej darowałbym sobie używanie encyklopedycznego "Query" (mowa oczywiście tylko o języku PHP), gdy mamy jednocześnie używamy ORM.
Może opowiem, w jaki sposób ja tego