Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem: Do We Need DDD Tactical Patterns when Doing EventSourcing ? #50

Open
ylorph opened this issue May 22, 2020 · 3 comments
Open

Comments

@ylorph
Copy link
Owner

ylorph commented May 22, 2020

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.

@ylorph
Copy link
Owner Author

ylorph commented May 22, 2020

@MerrionComputing ^
It's also one of the point of #47

@MerrionComputing
Copy link
Contributor

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

@johnbywater
Copy link

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants