Jestem nowy w świecie CQRS/ES i mam pytanie. Pracuję nad aplikacją internetową do fakturowania, która wykorzystuje źródła zdarzeń i CQRS.Agregatory CQRS
Moje pytanie brzmi następująco: nowe polecenie wchodzące do systemu (powiedzmy ChangeLineItemPrice) powinno przechodzić przez model domeny, aby można było go sprawdzić jako prawną komendę (na przykład, aby sprawdzić, czy ten element zamówienia faktycznie istnieje, cena nie narusza żadnych reguł biznesowych itp.). Jeśli wszystko pójdzie dobrze (polecenie nie zostanie odrzucone) - wtedy odpowiednie zdarzenie zostanie utworzone i zapisane (na przykład LineItemPriceChanged)
Rzeczą, której nie zrozumiałem, jest to, jak zachować ten zbiór w pamięci na samym początku, przed próbą zastosowania polecenia. Jeśli mam milion faktur w systemie, czy powinienem odtwarzać całą historię za każdym razem, gdy chcę zastosować polecenie? Czy zawsze zapisuję zdarzenie bez walidacji i sprawdzam poprawności podczas konstruowania modeli/rzutów widoku?
Jeśli źle zrozumiałem każdą część procesu, byłbym wdzięczny za informację zwrotną.
Dzięki za pomoc!
Dzięki, to bardzo pomaga! – amitayh
Świetnie. Czy to wystarczająco dobre, aby zostać oznaczonym jako odpowiedź? szturchać.. – Codescribler