Extraneous properties (and even class)?
ChrisSimmons opened this issue · 2 comments
ChrisSimmons commented
I'm curious about a few things:
- It does not appear that
AggregateRoot.Version
serves any purpose. While I've seenVersion
used actively on the aggregate in many examples (books, articles) on ES, in this case it seems extraneous. Is this just serving as an example that a non-trivial real-world app would likely have aVersion
property on the aggregate? - Similarly, it appears that
EventStore.EventDescriptor.Id
serves no purpose. If you take that as true,EventStore.EventDescriptor
as whole seems to have no purpose as it only hasVersion
, whichEvent
already has. Again, is this just an illustration that a real-world ES app would have a "wrapper" like this aroundEvent
? I know that NEventStore has theEventMessage
class that serves as a similar wrapper concept.
gregoryyoung commented
Version is not used in this code though many have taken the aggregate base and used it (which is why its there)
EventDescriptor is more internals of what an eventstore would do internally EG it can treat event as a vector of byte and only use descriptor
ChrisSimmons commented
Got it, thank you!