A curated list of Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS), Event Sourcing, and Event Storming resources.
Check out my blog and weekly DDD newsletter or say hi on Twitter!
- Books
- Training Courses
- Video Collections
- Mailing Lists and Forums
- Blogs
- Sample Projects
- Libraries and Frameworks
- Frameworks
- Podcasts and Interviews
- User Groups
- Domain-Driven Design: Tackling the Complexity at the Heart of Software - Eric Evans. The canonical book that coined the term "Domain-Driven Design." Also known as the "Blue Book."
- Implementing Domain-Driven Design - Vaughn Vernon. Also a canonical book presenting a top-down approach to understanding Domain-Driven Design. Also known as the "Red Book."
- Domain-Driven Design Distilled - Vaughn Vernon. Title says it all. Very good starter book before you read Implementing Domain-Driven Design or Domain Driven Design: Tackling the Complexity at the Heart of Software.
- Patterns, Principles, and Practices of Domain-Driven Design (1st Edition) - Scott Millet and Nick Tune. "Methods for managing complex software construction following the practices, principles and patterns of Domain-Driven Design with code examples in C#"
- Microsoft .NET - Architecting Applications for the Enterprise (2nd Edition) - Dino Esposito and Andrea Saltarello. "A software architect’s digest of core practices, pragmatically applied"
- Living Documentation by Design, with Domain-Driven Design - Cyrille Martraire. "Discover how a Living Documentation can help you in all aspects of your projects, from the business goals to the business domain knowledge, architecture and design, processes and deployment, even if you hate writing documentation."
- Introducing Event Storming: An act of Deliberate Collective Learning - Alberto Brandolini. A must read. "The deepest tutorial and explanation about EventStorming, straight from the inventor."
- The Anatomy of Domain-Driven Design - The Infographic - Scott Millet and Samuel Knight. An infographic on the anatomy of Domain-Driven Design.
- CQRS Journey. Microsoft Patterns and Practices. Exploring CQRS and Event Sourcing.
- Domain Driven Design Quickly - InfoQ Mini Books. "Domain Driven Design Quickly is a short, quick-readable summary and introduction to the fundamentals of DDD"
- Domain-Driven Design in PHP - Carlos Buenosvinos, Christian Soronellas and Keyvan Akbary. "Real examples written in PHP showcasing DDD Architectural Styles, Tactical Design, and Bounded Context Integration"
- Domain Language eLearning - Eric Evans. "Using our video lessons with Eric Evans, author of the original book on Domain-Driven Design (DDD), teach yourself techniques for evolving practical models that improve your software — not just your documents.""
- Greg Young's CQRS Class - Greg Young. These videos include the entirety of Greg Young's DDD, CQRS, and Event Sourcing class
- Distilling Domain-Driven Design - Vaughn Vernon's online training course
- Nomad PHP: Introduction to Event Sourcing and CQRS - Beau Simensen.
- Event Sourcery - Shawn McCool and Mitchell van Wijngaarden. Introduction to DDD, CQRS, and Event Sourcing
- Pluralsight
- Domain-Driven Design Fundamentals - Steve Smith and Julie Lerman. "Teaches the fundamentals of Domain-Driven Design (DDD) through a demonstration of customer interactions and a complex demo application, along with advice from Eric Evans"
- Domain-Driven Design in Practice - Vladimir Khorikov. "A descriptive, in-depth walk-through for applying Domain-Driven Design principles in practice.""
- Modern Software Architecture: Domain Models, CQRS, and Event Sourcing - Dino Esposito. "This course covers DDD analysis patterns helpful in discovering the top-level architecture of a business domain. Architects and developers will find details of implementation patterns such as Domain Model, CQRS, and Event Sourcing.""
- DDD Europe - Recordings of talks given at DDD Europe
- SkillsCasts by SkillsMatter - Searching DDD returns various talks given by Greg Young, Alberto Brandolini, and Dan North, etc.
- Alberto Brandolini: Event Storming (YouTube) - A YouTube collection of talks given by Alberto Brandolini on Event Storming.
- Greg Young (YouTube) - A YouTube collection of various talks given by Greg Young
- DDD/CQRS Google Group - An active mailing list and an excellent resource to ask questions and learn fine-grained details about DDD/CQRS.
- Domain Driven Design Yahoo Group - "This group is for discussion of the domain-driven style of designing software, and the book by Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Business Software. Questions and discussion of the book content is welcome here, as well as sharing of experiences applying DDD, and discussions of the topic in general."
- DDDinPHP Google Group - "The place to discuss Domain-Driven Design, CQRS, Event Sourcing, Model Storming, Hexagonal Architecture, Distributed Systems, Reactive... in the context of PHP."
- EventStormers Google+ Community - "a public discussion group for everybody interested in EventStorming, and related themes."
- DDD Weekly - Weekly curated links related to DDD/CQRS/ES.
- DDD/CQRS/ES Slack - A slack team for those who want to chat about Domain-Driven Design, CQRS, Event Sourcing and sometimes random things. Main channel is language and framework agnostic.
- Nick Chamberlain
- Daniel Whittaker: CQRS and Event Sourcing
- Cyrille Martraire
- Jimmy Bogard: Los Techies
- CodeBetter
- Greg Young: Good Enough Software
- InfoQ Blog (tagged "Domain-Driven Design")
- Dan North
- Mike Mogosanu: Sapiens Works
- Christian Posta
- Vladimir Khorikov: Enterprise Craftsmanship
- TechBeacon (search "Domain-Driven Design")
- Derek Comartin: CodeOpinion
- Alberto Brandolini: Ziobrando's Lair
- Jérémie Chassaing: Think Before Coding
- Adam Brodziak
- Vaughn Vernon: Software Craftsman
- Vladik Khononov
- Eventsourcing Publications
- Reactive Trader Cloud - Adaptive Consulting. Reactive Trader Cloud.
- Example of Domain-Driven Design in F# - Scott Wlaschin. Example of Domain Driven Design for the game of checkers. There are two files: a scratch file with a series of designs, and a final version.
- SimpleCQRS - Greg Young's "Simplest Thing" CQRS with Event Sourcing project.
- Companion Code for Microsoft .NET Architecting Applications for the Enterprise Dino Esposito.
- Microsoft Patterns and Practices: CQRS Journey Sample Code - Microsoft Patterns and Practices. Sample code from CQRS Journey.
- CQRS-DDD Example - Derek Comartin. "Domain Driven Design, CQRS, & Event Sourcing Example using GetEventStore, CommonDomain, NServiceBus, Entity Framework, SQL Server, SignalR."
- Scritchy - Tom Janssens. CQRS without the Plumbing, video
- Simple CQRS in F# - Jeremie Chassaing. Greg Young's SimpleCQRS in F#.
- FsUno - Jeremie Chassaing. Event sourcing implementation sample in F#
- IDDD Samples - Vaughn Vernon. These are the sample Bounded Contexts from the book "Implementing Domain-Driven Design" by Vaughn Vernon: http://vaughnvernon.co/?page_id=168
- IDDD Samples in .NET - Vaughn Vernon. These are the sample Bounded Contexts for C#.NET from the book "Implementing Domain-Driven Design" by Vaughn Vernon: http://vaughnvernon.co/?page_id=168
- Akka CQRS ES Demo - Miel Donkers. Demo project to implement the CQRS and Event Sourcing patterns in Scala-Akka
- DDD Leaven - Sławomir Sobótka. DDD-CqRS sample v2.0 project that helps you with starting out advanced domain modeling using Spring, JPA and testing
- Event Store - "The open-source, functional database with Complex Event Processing in JavaScript."
- Axon Framework - "The axon framework is focused on making life easier for developers that want to create a java application based on the CQRS principles"
- MessageRouter - Quicken Loans. Described in this video: The Beating Heart of CQRS, or Actor-Based Message Routing on the CLR by Paulmichael Blasucci at the New York F# .NET User Group.
- NEventStore - "a persistence library used to abstract different storage implementations when using event sourcing as storage mechanism."
- Projac - Yves Reynhout. "Projac is a set of projection libraries that allow you to write projections targetting various backing stores."
- Streamstone - Yevhen Bobrov. Event Store for Azure Table Storage
- Value - Thomas Pierrain. "help you to easily implement Value Types in your C# projects without making errors nor polluting your domain logic with boiler-plate code"
- Cirquis - d60 A/S. d60 event sourcing + CQRS framework
- Its.Cqrs - Jon Sequeira. "A set of libraries for CQRS and Event Sourcing, with a Domain-Driven Design flavor."
- AggregateSource - Yves Reynhout. "Lightweight infrastructure for doing eventsourcing using aggregates"
- JESA - Yves Reynhout. "Event sourced aggregates for Java"
- EventFlow - Rasmus Mikkelsen. Async/await first CQRS+ES and DDD framework for .NET http://geteventflow.net/
- cqrs.js - Adriano Raiano. CQRS implementations in node.js. Includes node-eventstore, node-cqrs-domain, node-eventdenormalizer, node-cqrs-saga
- Eventsourcing - "Business event capture and querying framework"
- CQRS on Azure Duncan Jones. CQRS on Windows Azure.
- Deeper into DDD on DotNetRocks with David Real 11 June 2015
- Thinking in DDD on DotNetRocks with Julie Lerman and Steve Smith 19 August 2014
- Eric Evans on Domain Driven Design on DotNetRocks 10 May 2007
- Jimmy Nilsson on Domain Driven Design on DotNetRocks 29 August 2006
- Being the Worst 2012-2016
- Domain-Driven Design Belgium
- Domain Driven Design Munich
- Domain Driven Design Berlin
- Domain Driven Design Nederland
- Domain Driven Design London
- DDD in Kraków
- DDD in Wroclaw
- DDD Phoenix
- DDD Denver
To the extent possible under law, Nick Chamberlain has waived all copyright and related or neighboring rights to this work.