In Object Oriented programming, identity and behaviour are often conflated. But it can be useful to think of them as different concepts.
Modeling your domain as timelines instead of object graphs
Notes from my Dead Code Podcast episode on Event Sourcing and Ruby.
Understanding the role of commands in Event Sourcing
The Decide, Evolve, React pattern in Ruby, explained step by step
Testing Railway-oriented pipelines in Ruby.
Implementing middleware in a Railway-oriented pipeline in Ruby.
Implementing domain-specific steps and extending a Railway-oriented pipelines in Ruby.
Handling user input, errors and metadata in a Railway-oriented pipeline in Ruby.
A simplified approach to building composable data pipelines in Ruby, with examples and use cases.
The Command Layer is the place where business logic happens, user input is handled and decisions are made. In this article I explore the role of the Command Layer in event-sourced systems
The Event Store interface is the canonical data store in event sourcing, and it’s in charge of persisting and retrieving events produced by your system.
In this series I’ll go over the basic concepts in Event Sourcing. The code examples are in Ruby, but the general principles should apply in any language.
An exploration of patterns for building composable data pipelines in Ruby, from the basics to the possibly YAGNI.