Enhance and extend the ApplyEventRouterconcept to make it more full-featured.
Externalise the registration from aggregates themselves
Extend the registry to contain routes for multiple aggregates
Add ability to register and dispatch commands from the registry
Move EventNameMapto the external registry
Add a container for aggregate metadata in the registry that can be used to determine keysd
Add beginnings of snapshotting via ISnapshotRepository and EventStoreSnapshotRepository
Introduce the concept of versions for aggregates separate to the domain.
Add a layer that wraps the events and snapshot repositories to allow consumers to deal with aggregates and versions rather than simply sequences of events
Enhance and extend the
ApplyEventRouter
concept to make it more full-featured.EventNameMap
to the external registryISnapshotRepository
andEventStoreSnapshotRepository