The-Inevitable-Event-Centric-Book
The-Inevitable-Event-Centric-Book copied to clipboard
Problem: Do We Need DDD Tactical Patterns when Doing EventSourcing ?
Short answer : no
It is possible to do Aggregates without doing Event Sourcing and to do Event Sourcing without doing Aggregates - and it may be that the latter is a better fit if you find most of your Aggregates don't really do anything.
@MerrionComputing ^ It's also one of the point of #47
The most common recipe seems to be DDD -> Microservices -> EDA -> CQRS -> Event Sourcing.
It does make sense for many systems, but any one of these components can add value without the others.
Event sourcing on its own can be used to add checklist/workflow to a standard MVC over CRUD system.
CQRS can be used to divide work between distributed teams regardless of how the rest of the application looks.
EDA can be used to communicate between a core application and follower applications (notifiers, monitoring, knock-on effect processing etc.)
DDD can be used to decide what (or even if) you should be developing in the first place
Good question :-) I wrote a little book about this: https://leanpub.com/eventsourcedddesignwithpython
I still prefer the term "Building Blocks" over "Tactical Patterns" but maybe that's just me not really having a definite feeling for what "tactical" distinguishes (in general the strategic/tactical distinction always left me a bit cold but I don't really know why).