æ/Rashomon
See things from another perspective; Clojure functions that build datastructures from events.
See things from another perspective; Clojure functions that build datastructures from events.
This is a very useful pattern that I see rarely used. When working with systems that pass messages, it can be difficult to later reconstruct a conversation or the sequence of events. It is second nature to us to assign entity IDs1 to messages, but two other IDs will help us to understand the structure of conversations. One is a correlation ID. This is used to tie the conversation together....
You don't understand a pattern until you can implement it — domain-driven design, CQRS, event sourcing.
This article is in the process of being written. Introduction State isn't stored. We rebuild it every time we need to query or do something to it. It has its drawbacks, but it does allow us to do things that would be impossible otherwise. We can view out system's history with new perspectives, or add in missed past events. Our view of the past is necessarily wrong for any complex system and yet we design systems that lack any way to account for that....