Event Sourcing Is About Behaviour, Not State
Why meaningful domain events preserve business behaviour instead of merely recording property changes or CRUD updates.
The hardest part of Event Sourcing isn't rebuilding aggregates from events. It's learning to model business behaviour instead of changes to state.
An order stream can rebuild state perfectly while still looking like CRUD in disguise: • DeliveryStreetChanged • DeliveryPostalCodeChanged • OrderStatusChanged Compare that to: • DeliveryAddressChanged • OrderConfirmed • OrderCancelled • OrderShipped Both streams can reconstruct the same aggregate, but they preserve very different histories. In my latest post, I explore the difference between Event Sourcing, property sourcing and CRUD sourcing, and why value objects together with intention-revealing aggregate methods naturally lead to richer domain events. https://markusbengtsson.dev/blog/event-sourcing-is-about-behaviour-not-state #EventSourcing #DDD #DomainDrivenDesign #SoftwareArchitecture #DotNet