Als «cqrs» getaggte Fragen

Entwurfsmuster für die Verantwortung der Befehlsabfrage

2
Warum trennen Sie die Klasse CommandHandler mit Handle (), anstatt die Methode in Command selbst zu behandeln?
Ich habe einen Teil des CQRS-Musters mit der folgenden S # arp-Architektur implementiert : 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
Dürfen Domain-Objekte in Domain Driven Design nur schreibgeschützt sein?
Ich lese seit fast zwei Jahren über domänengetriebenes Design und führe einige Konzepte vorsichtig in meine tägliche Arbeit ein oder erstelle zumindest Pläne dafür, wie Dinge, die ich regelmäßig in einem domänengetriebenen Design mache, getan werden können. Eine Schlussfolgerung, zu der ich zu kommen beginne, insbesondere nachdem ich mehr über …

2
CQRS ohne DDD und ohne (oder mit?) ES - Was ist ein Schreibmodell und was ist ein Lesemodell?
Soweit ich weiß, besteht die große Idee hinter CQRS darin, zwei verschiedene Datenmodelle für die Verarbeitung von Befehlen und Abfragen zu haben. Diese werden als "Schreibmodell" und "Lesemodell" bezeichnet. Betrachten wir ein Beispiel für den Klon einer Twitter-Anwendung. Hier sind die Befehle: Benutzer können sich registrieren. CreateUserCommand(string username)emittiertUserCreatedEvent Benutzer können …
11 cqrs  read-model 

1
Wie Add / Create * -Befehle in der CQRS + Event Sourcing-Architektur behandelt werden sollen
Ich möchte meine erste Anwendung mithilfe des CQRS-Musters zusammen mit Event Sourcing implementieren. Ich frage mich, wie die Erstellung aggregierter Wurzeln richtig gehandhabt werden sollte. Angenommen, jemand sendet den Befehl CreateItem. Wie soll damit umgegangen werden? Wo soll das Ereignis ItemCreated gespeichert werden? Als erstes Ereignis eines neuen Artikels? Oder …

2
CQRS + Event Sourcing: (ist es richtig) Befehle werden im Allgemeinen Punkt-zu-Punkt übertragen, während Domänenereignisse über Pub / Sub übertragen werden?
Ich versuche im Grunde, mich mit dem Konzept von CQRS und verwandten Konzepten zu beschäftigen. Obwohl CQRS Messaging und Event Sourcing nicht unbedingt beinhaltet, scheint es eine gute Kombination zu sein (wie aus vielen Beispielen / Blogposts hervorgeht, die diese Konzepte kombinieren). Würden Sie angesichts eines Anwendungsfalls für eine Statusänderung …




2
Befehlshandler und DDD
Ich habe eine ASP.NET MVC-Anwendung, die einen Abfragedienst zum Abrufen von Daten und einen Befehlsdienst zum Senden von Befehlen verwendet. Meine Frage betrifft den Befehlsteil. Wenn eine Anforderung eingeht, verwendet der Befehlsdienst einen Befehls-Dispatcher, der den Befehl an den angegebenen Befehlshandler weiterleitet. Dieser Befehlshandler überprüft zuerst den Befehl und führt …


4
Wo soll ein Objekt in CQRS + ES vollständig initialisiert werden: im Konstruktor oder beim Anwenden des ersten Ereignisses?
In der OOP-Community scheint es weit verbreitete Übereinstimmung zu geben, dass der Klassenkonstruktor ein Objekt nicht teilweise oder sogar vollständig nicht initialisiert lassen sollte. Was meine ich mit "Initialisierung"? Grob gesagt der atomare Prozess, der ein neu erstelltes Objekt in einen Zustand bringt, in dem alle seine Klasseninvarianten gelten. Es …

2
Null-Argument-Konstruktoren und immer gültige Entitäten
Ich habe in letzter Zeit viel über immer gültige Domänenentitäten gelesen. Ich bin zu der Überzeugung gelangt, dass ich Folgendes tun muss, um sicherzustellen, dass die Entitäten immer gültig sind: 1) Entfernen Sie die primitive Besessenheit und fügen Sie Validierungs- / Domänenregeln in die Wertobjektkonstruktoren ein, wie hier erläutert: https://enterprisecraftsmanship.com/2016/09/13/validation-and-ddd/ …


2
Event-Sourcing, Wiedergabe und Versionierung
Ich entwerfe ein System, das Event Sourcing, CQRS und Microservices verwendet. Ich muss verstehen, dass dies kein ungewöhnliches Muster ist. Ein Schlüsselmerkmal des Dienstes muss die Fähigkeit sein, aus einem Aufzeichnungssystem zu rehydrieren / wiederherzustellen. Microservices erzeugen Befehle und Abfragen auf einem MQ (Kafka). Andere Microservices reagieren (Ereignisse). Befehle und …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.