Skip to content

Instantly share code, notes, and snippets.

@jsangilve
Last active May 31, 2019 09:04
Show Gist options
  • Save jsangilve/4c8f1c96229e39ace4992bd159704e51 to your computer and use it in GitHub Desktop.
Save jsangilve/4c8f1c96229e39ace4992bd159704e51 to your computer and use it in GitHub Desktop.
Links to learn about Domain Driven Design, Event Sourcing and CQRS

Domain-Driven Design, Event Sourcing and CQRS

A compilation of resources I went through while getting deep into Domain-Driven Design (DDD), Event Sourcing (ES), and CQRS.

Unfortunately, there is not a single source of truth on these topics and the resources are quite scattered around the web. My goal is to create a guide on how to consume them while filtering repeated content.

Guide

  1. Mahmud Hassan - Basic concepts of DDD: basic overview of general concepts like domain, contexts, entities, aggregates, etc (most of these concepts come from Eric Evans's book]).
  2. Greg Young - CQRS and Event Sourcing: General Overview about both concepts (helps to understand that ES without CQRS is an antipattern).
  3. Greg Young - Event Sourcing: it overlaps with the previous one, but provides a more general perspective on why would you use ES.
  4. Martin Fowler - Event Sourcing: Fowler's take on explaining ES.
  5. Udi Dahan - Clarified CQRS: another common referent on the topic.
  6. Martin Fowler - CQRS: Fowler's take on explaining CQRS.
  7. CQRS concepts: use this as a reference for CQRS concepts.

More content

More resources for deeper understanding and reinforcement:

  1. Philip Jander - Explanation on CQRS
  2. Post on DDD-CQRS mailing list: a question asked by someone working for a ride sharing company in Australia, answered by Philip Jander.
  3. Greg Young - Overview of the last decade of ES: it repeats many things from previous talks, but shows interesting learnings from the last decade (2006-2016) working with Event Sourcing.
  4. Martin Fowler - The many meanings of Event-Driven architectures: what do people mean when they say they have an Event-Driven architecture.
  5. CQRS Sagas: Explanation on Sagas.

Extra

Posts on using Event Sourcing in the real world. )

Elixir specific material

Authors

Some comments on the authors:

  • Eric Evans wrote the most referenced book on DDD.
  • Greg Young (who coined the term CQRS) has given like a hundred of talks on ES during the last 10 years. Because most of them have similar content, slides, concepts and even jokes, I only included 3.
  • Martin Fowler: different articles and talks on the topic.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment