Obecnie studiuję CQRS i widzę kilka kodów źródłowych (SimpleCQRS Grega Younga i Marka Nihjofa). Nadal mylę ze zdarzeniem command i domain. Czy zawsze musimy zachować domenę, aby "zapisywać bazę danych" w module obsługi zdarzeń domeny? Czy to często, gdy wywołuję kod, aby zapisać domenę do bazy danych w module obsługi komend (zwykle przez repozytorium domeny), a następnie pozwól obsługi zdarzeń domeny na obsługę innych rzeczy (takich jak: aktualizowanie modelu odczytu i wykonywanie innych usług, takich jak powiadomienia e-mail) . Dzięki.Najlepsze miejsce do zapisania domeny do zapisu bazy danych w CQRS (Command Handler lub Domain Event Handler)
Odpowiedz
Przechowywanie zdarzeń: Nie utrzymałbym zdarzeń przy użyciu procedury obsługi zdarzeń. Delegowanie go z programu obsługi komend do repozytorium lub jednostki pracy jest prawdopodobnie najbardziej powszechnym podejściem przy korzystaniu z eventowania. Tak, tak, często robi się wytrwałość w mechanizmie poleceń (cóż, deleguj go) i spraw, aby program obsługi zdarzeń wykonywał inne czynności.
Zapisywanie stanu: Kiedy nie używam eventowania, zakładam, że ludzie przechowują zdarzenia obok stanu lub gorzej, wcale (w kolejce jako mechanizm perswazji). Mimo to logika trwałości znajduje się w przestrzeni kontrolera poleceń.
Polecenia przechwytywania intencji i powiedz systemowi, co należy zrobić. Zawsze używaj imperatywu. Zdarzenia wychwytują zdarzenia i informują, co się stało w systemie. Zawsze w czasie przeszłym.
Uderzyłeś mnie jako kogoś nowego w tym temacie. Najlepszą rzeczą, którą można zrobić, aby zrozumieć koncepcje CQRS, jest oglądanie materiałów pod numerami http://cqrsinfo.com i http://skillsmatter.com (architektura/ddd). Inni ludzie, którzy blogują na ten temat (z mojej góry): Udi Dahan, Gregory Young, Jonathan Oliver, Rinat Abdullin, Jérémie Chassaing, ...
Dzięki za wyjaśnienie, jestem rzeczywiście nowy w CQRS. – user522037
- 1. Event Handler Null
- 2. VB.NET 2005 - "Global" Event Handler?
- 3. Długie naciśnięcie przycisku Event Handler
- 4. javascript event handler po usunięciu węzła
- 5. jQuery event handler .on() nie działa
- 6. Event Handler ma zawsze wartość null
- 7. Dodawanie i usuwanie Anonymous Event Handler
- 8. Wypalanie Floodlight za pomocą Onclick Event Handler
- 9. handler lub timer android
- 10. bezpieczne miejsce do zapisania kodu
- 11. JavaFX: Stage close handler
- 12. Przekazywanie komend CQRS bezpośrednio do obiektów Domain
- 13. Przycisk Event Handler Nigdy onClick Fires w Chrome Tylko
- 14. Poco :: Net Server & Client Połączenie TCP Event Handler
- 15. pojedyncze Event Handler dla wszystkich zdarzeń JavaScript/jQuery
- 16. Delphi: Ustawienie OnGetText Event Handler na polach dynamicznego zapytania
- 17. Błąd w klasie Handler
- 18. Promise Reasoning Handler undefined
- 19. Handler szablonów Rails 3.1
- 20. Android Handler zmiana WeakReference
- 21. Jak uruchomić/zatrzymać Runnable/Handler?
- 22. Objectback-C handler oddzwonienia
- 23. backbonejs kolekcja.fetch handler błędu
- 24. Handler wyjątków dla ServiceClientBase
- 25. Android, wiadomości Handler
- 26. Robolectric Run Handler post
- 27. GWT RadioButton Zmień Handler
- 28. Najlepsze metody przesyłania plików do bazy danych
- 29. Handler na elementach DOM w GWT
- 30. Domain Driven Design, Domain objects, nastawienie do seterów
może to pomoże http://www.udidahan.com/2009/12/09/clarified-cqrs/To jest naprawdę dobry post z Udi Dahan na ten temat. – roundcrisis