Comments on: How to make simple CQRS implementation without Event Sourcing http://vitiy.info/how-to-make-simple-cqrs-implementation-without-event-sourcing/ Programming, architecture and design (ะก++, QT, .Net/WPF, Android, iOS, NoSQL, distributed systems, mobile development, image processing, etc...) Tue, 15 Jan 2019 11:15:00 +0000 hourly 1 https://wordpress.org/?v=5.4.2 By: Johan t Hart http://vitiy.info/how-to-make-simple-cqrs-implementation-without-event-sourcing/#comment-46046 Tue, 15 Jan 2019 11:15:00 +0000 http://vitiy.info/?p=347#comment-46046

as you have to keep not only all events inside your eventstore, but also all past event handlers to replay them

No I think thats wrong. Old versions of events should be replayable with new event handlers. For new data in the events there should be defaults. If the old event is not up-castable, then (as a rule of thumb), it is not the same event but a new event type.

]]>
By: Scooletz http://vitiy.info/how-to-make-simple-cqrs-implementation-without-event-sourcing/#comment-45799 Sun, 14 Dec 2014 10:57:00 +0000 http://vitiy.info/?p=347#comment-45799 Following the condition of ‘pureness’ you are right and sometimes it’s worth considering other paths, which truly exists ๐Ÿ™‚

]]>
By: Victor Laskin http://vitiy.info/how-to-make-simple-cqrs-implementation-without-event-sourcing/#comment-45798 Sun, 14 Dec 2014 07:24:00 +0000 http://vitiy.info/?p=347#comment-45798 My point was that if you are using ‘pure’ event sourcing the whole versioning problem becomes more complicated as you have to keep not only all events inside your eventstore, but also all past event handlers to replay them. In my suggested document approach (instead of event-sourcing) this pain is much less crucial, as you don’t have to think about affecting history.

]]>
By: Scooletz http://vitiy.info/how-to-make-simple-cqrs-implementation-without-event-sourcing/#comment-45797 Sat, 13 Dec 2014 23:55:00 +0000 http://vitiy.info/?p=347#comment-45797 Oh, there are many ways of doing versioning. You should search for a preferable way of resolving versioning on case basis. Sometimes it’s worth to take this debt and go with v2 for a while. Don’t want to be architectish ๐Ÿ˜‰ but it depends.

]]>
By: Victor Laskin http://vitiy.info/how-to-make-simple-cqrs-implementation-without-event-sourcing/#comment-45796 Sat, 13 Dec 2014 17:42:00 +0000 http://vitiy.info/?p=347#comment-45796 Thanks for your comment. Yes, instead of clonning events you can change whole event history inside your database. But don’t you think that ‘rewriting the whole history’ is even more ugly approach, as history should be immutable? This is more like workaround imho, but still this workaround is worth mentioning.

]]>
By: Scooletz http://vitiy.info/how-to-make-simple-cqrs-implementation-without-event-sourcing/#comment-45795 Sat, 13 Dec 2014 14:16:00 +0000 http://vitiy.info/?p=347#comment-45795 I disagree with your opinion about versioning events. Having this _v2 suffixes is not the only method. You can also create transformers IEnumerable->IEnumerable which will translate previously saved events within your store, or even rewrite the whole history. It’s easy to keep the pollution of versions minimal. CQRS Journey book includes some nice discussions about it.

]]>