CQRS and Event Sourcing can be modeled as a set of four pure functions: Protection (aggregate handles commands given history, producing events), Interpretation (projecting events into read-model state), Intention (user converts state into commands), and Automation (process managers convert events into commands). The functional framing highlights referential transparency and separation of concerns. A 2016 update extends the model to include Queries and Subscriptions, expressing the full architecture in Haskell-style type signatures.
Table of contents
ProtectionInterpretationIntentionAutomationConclusionUpdate June 8, 2014Update Dec 17, 2016Read More9 Impressions