Ich mache mich auf die Verwendung von Event Sourcing-Muster, und es gibt eine Sache, die mich stören.Wie mit Code-Änderung in Ereignishandlern mit Event Sourcing-Muster umgehen
Was passiert, wenn ich den Quellcode für einige Event-Handler ändere, das nächste Mal, wenn ich den Object-State neu bilde (Wiedergabe-Ereignisse), bekomme ich möglicherweise ein völlig anderes Objekt, oder schlimmer kann ich nichts von einer Ausnahme in einem bekommen von Handlern, die eine Regelprüfung durchführen.
Bedeutet es, dass Ereignisbehandlungscode unveränderlich sein sollte? (Sobald Sie es geschrieben haben, berühren Sie es nie wieder). Ich mag diese Idee wirklich nicht.
Nach nicht langer Forschung und zu denken, kam ich zur Schlussfolgerung, dass Ereignis eine Nachricht ist und wie jede mögliche Mitteilung in zum Beispiel SOA es sollte versioniert werden.
Ich bin bewusst, offen/geschlossen-Prinzip. –
Übrigens gibt es Fowler's Gedanken zum Thema Codeänderungen unter http://www.martinfowler.com/eaaDev/EventSourcing.html. Das Lesen hat mich dazu gebracht, die Einführung von Event-Versionsverwaltung in meinen Code einzuführen. –