Pytania otagowane jako cqrs

Wzorzec projektowy Segregacja odpowiedzialności za zapytanie

2
Po co rozdzielać klasę CommandHandler za pomocą Handle () zamiast obsługi metody w samym Command
Mam część wzorca CQRS zaimplementowanego przy użyciu architektury S # arp w następujący sposób: public class MyCommand { public CustomerId { get; set; } // some other fields } public class MyCommandHandler<MyCommand> : ICommandHandler<MyCommand, CommandResult> { Handle(MyCommand command) { // some code for saving Customer entity return CommandResult.Success; } } …

3
Czy obiekty domeny w projekcie opartym na domenie mają być tylko do zapisu?
Czytam o projektowaniu opartym na domenach od prawie dwóch lat i ostrożnie wprowadzam pewne koncepcje do mojej codziennej pracy lub przynajmniej planuję, jak rzeczy, które robię regularnie, mogą być wykonane w ramach projektu opartego na domenach. Jeden wniosek, do którego zacząłem dochodzić, szczególnie w odpowiedzi na więcej informacji o pozyskiwaniu …

2
Pozyskiwanie zdarzeń CQRS +: (czy to prawda, że) Polecenia są zazwyczaj przekazywane punkt-punkt, podczas gdy zdarzenia domeny są przekazywane przez pub / sub?
Zasadniczo próbuję owinąć głowę koncepcją CQRS i powiązanymi koncepcjami. Chociaż CQRS niekoniecznie obejmuje przesyłanie wiadomości i pozyskiwanie zdarzeń, wydaje się być dobrą kombinacją (co można zobaczyć w wielu przykładach / postach na blogu łączących te pojęcia) Biorąc pod uwagę przypadek użycia dla zmiany stanu czegoś (powiedzmy, aby zaktualizować Pytanie na …

2
CQRS bez DDD i bez (lub z?) ES - co to jest model zapisu, a co model odczytu?
O ile rozumiem, główną ideą CQRS są 2 różne modele danych do obsługi poleceń i zapytań. Są to tak zwane „model zapisu” i „model odczytu”. Rozważmy przykład klonowania aplikacji na Twitterze. Oto polecenia: Użytkownicy mogą się zarejestrować. CreateUserCommand(string username)emitujeUserCreatedEvent Użytkownicy mogą obserwować innych użytkowników. FollowUserCommand(int userAId, int userBId)emitujeUserFollowedEvent Użytkownicy mogą …
11 cqrs  read-model 

1
Jak należy obsługiwać polecenia Dodaj / Utwórz * w architekturze CQRS + Event Sourcing
Chcę wdrożyć moją pierwszą aplikację przy użyciu wzorca CQRS wraz z Event Sourcing. Zastanawiam się, jak prawidłowo obsługiwać tworzenie zagregowanych korzeni. Powiedzmy, że ktoś wysyła polecenie CreateItem. Jak sobie z tym poradzić? Gdzie należy przechowywać zdarzenie ItemCreated? Jako pierwsze wydarzenie nowego przedmiotu? Czy powinienem mieć jakiś element ItemList, który agreguje …

2
Programy obsługi poleceń i DDD
Mam aplikację ASP.NET MVC, która korzysta z usługi zapytań w celu uzyskania danych oraz usługi poleceń do wysyłania poleceń. Moje pytanie dotyczy części dowodzenia. Jeśli nadejdzie żądanie, usługa komend używa dyspozytora poleceń, który przekieruje polecenie do wyznaczonego modułu obsługi poleceń. Ten moduł obsługi poleceń najpierw sprawdza poprawność polecenia, a jeśli …


2
Jak utworzyć nowy zagregowany katalog główny w CQRS?
Jak powinniśmy tworzyć nowe zagregowane korzenie w architekturze cqrs? W tym przykładzie chcę utworzyć nowy zagregowany katalog główny AR2, który będzie zawierał odniesienie do pierwszego AR1. Tworzę AR2 przy użyciu metody AR1 jako punktu wyjścia. Jak dotąd widzę kilka opcji: Wewnątrz metody w AR1 createAr2RootOpt1mogłem new AR2()natychmiast wywołać i zapisać …


4
Gdzie obiekt w CQRS + ES powinien być w pełni zainicjowany: w konstruktorze lub podczas stosowania pierwszego zdarzenia?
Wydaje się, że istnieje powszechna zgoda w społeczności OOP, że konstruktor klasy nie powinien pozostawiać obiektu częściowo, a nawet całkowicie niezainicjowanego. Co rozumiem przez „inicjalizację”? Z grubsza mówiąc, proces atomowy , który wprowadza nowo utworzony obiekt w stan, w którym utrzymują się wszystkie niezmienniki jego klasy. Powinna być pierwszą rzeczą, …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.