Class EventSourcingOrchestratingAggregate<C, S, E, V, CM, EM>
Event sourcing orchestrating aggregate is using/delegating a EventSourcingOrchestratingAggregate.decider of type IDecider<C, S, E> to handle commands and produce events.
In order to handle the command, aggregate needs to fetch the current state (represented as a list of events) via IEventRepository.fetchEvents function, and then delegate the command to the EventSourcingOrchestratingAggregate.decider which can produce new event(s) as a result.
If the EventSourcingOrchestratingAggregate.decider is combined out of many deciders via combine function, an optional EventSourcingOrchestratingAggregate.saga could be used to react on new events and send new commands to the EventSourcingOrchestratingAggregate.decider recursively, in one transaction.
Produced events are then stored via IEventRepository.save function.
Event sourcing orchestrating aggregate is using/delegating a
EventSourcingOrchestratingAggregate.decider
of typeIDecider
<C
,S
,E
> to handle commands and produce events. In order to handle the command, aggregate needs to fetch the current state (represented as a list of events) viaIEventRepository.fetchEvents
function, and then delegate the command to theEventSourcingOrchestratingAggregate.decider
which can produce new event(s) as a result.If the
EventSourcingOrchestratingAggregate.decider
is combined out of many deciders viacombine
function, an optionalEventSourcingOrchestratingAggregate.saga
could be used to react on new events and send new commands to theEventSourcingOrchestratingAggregate.decider
recursively, in one transaction.Produced events are then stored via
IEventRepository.save
function.Author
Иван Дугалић / Ivan Dugalic /
Idugalic