This pattern helps us ensure that the service will publish an event whenever the state changes. In this pattern, we take a business entity (product, customer, and so on) as a sequence of state-changing events. The Event Store persists the events and these events are available for subscription or as other services. This pattern simplifies our tasks by avoiding the requirement to synchronize the data model and the business domain. It improves performance, scalability, and responsiveness.
- This simply defines an approach indicating how we can handle the various operations on our data by a sequence of events; these events are recorded in a store.
- An event represents a set of changes made to the data, for example, InvoiceCreated.

The preceding diagram describes how an event would work for ORDERSERVICE:
- The commands issue a book from the User Interface to be ordered
- ORDERSERVICE queries (from the Event Store) and populates the results with the CreateOrder event
- Then, the command handler raises an event to order the book
- Our service performs the related operations
- Finally, the system appends the event to the event store