Do we need Event Sourcing?
Before we start, I would definitely recommend getting familiar with the definition and benefits of Event Sourcing. Sara did an amazing job in explaining what Event Sourcing is in more detail and comparisons. Let's briefly touch upon some Event Sourcing aspects that are going to be important for this article. In order to validate a business rule and/or make any decision in our software we need to create a model representation of our domain. For the purposes of this article, I'm going to call this model the Decision Model . There are different ways of storing this model durably. The first one is called state-stored, which means that we are storing only the current state of the Decision Model. Another approach is to store the Decision Model as a series of events that describe facts that happened in our system - we say that this model is event-sourced . Now, when we need to load an event-sourced model from the storage, we must read all e...