Domain-Driven Design and CQRS/ES
Beginner
Domain-Driven Design Distilled: a 136 page introduction that will get you up to speed before you attempt larger books.
Domain-Driven Design Fundamentals: a Pluralsight course which provides a good introduction to all the basics.
Intermediate
Domain-Driven Design in Practice: a good intermediate Pluralsight course.
Patterns, Principles, and Practices of Domain-Driven Design: we've found this to be the most practical book to start with.
Implementing Domain-Driven Design: and this is the next book, it's value is in a consistent example application.
Advanced
Patterns for Building Distributed Systems for The Enterprise: this course provides some great insight to when to use CQRS. The differentiation between Event Sourcing and Event Streaming is of particular note which doesn't get much attention.
Further Patterns of Enterprise Application Architecture: the unpublished follow-up to Patterns of Enterprise Application Architecture provides great definitions, descriptions and example of patterns such as Event Sourcing and Event Collaboration.
Domain-Driven Design: Tackling Complexity in the Heart of Software : the original book that started it all. Domain-Driven Design has evolved since this book was written, but the core philosophy continues.
Extra
Reactive Messaging Patterns with the Actor Model: Applications and Integration in Scala and Akka: applying messaging patterns from Enterprise Integration Patterns and Domain-Driven Design to the Actor Model. Source code.
Modern Software Architecture: Domain Models, CQRS, and Event Sourcing: a course from Pluralsight that may help you triangulate your learning.
Last updated