Commented Literature and Online Sources for DDD
This list provides a (subjective) list of articles, books, and online sources for DDD.
The Core Books
These are the core books for DDD. If you are into this design approach, you should own them.
Evans, E. (2003). Domain-Driven Design: Tackling Complexity in the Heart of Software (1 edition), Addison-Wesley
- The quintessential DDD book, which got it all started
- … also called the “blue book”
- Not an easy read, but necessary to understand the core thinking behind DDD
- To my knowledge not available in a digital format (at least not legally)
The canonical source for DDD is Eric Evans’s book. It isn’t the easiest read in the software
literature, but it’s one of those books that amply repays a substantial investment.
Fowler, 2014
Vernon, V. (2013). Implementing Domain-Driven Design (01 ed.), Addison Wesley
- … also called the “red book”.
- A great companion to the “blue book”, since it clarifies aspects not sufficiently explained in the “blue book”,
like aggregates and domain events
- Somewhat closer to an implementation of DDD concept, although still in quite abstract way - which is good
since it aged relatively well (2013)
- Available as an affordable eBook (epub),
although (alas) not in our TH Köln library
Vernon, V. (2016). Domain-Driven Design Distilled (1st ed.), Addison-Wesley
Further Relevant Articles and Books
Fowler, M. (2014). Bounded Context, martinfowler.com
Samokhin, V. (2018). DDD Strategic Patterns: How to Define Bounded Contexts. DZone Microservices, dzone.com
Modelling DDD
DDD, as in the books of Evans and Vernon, is a consistent set of concepts and terms, but it does not prescribe a
specific process for arriving at a DDD-conformous design. The sources below try to fill that gap.
Overview
DDD Crew (2023a). Domain-Driven Design Starter Modelling Process
Core Domain Charts
DDD Crew (2023b). Core Domain Charts
Tune, N. (2020). Core Domain Patterns. Strategy, Architecture, Continuous Delivery, and DDD
Domain Message Flow Modelling
DDD Crew (2023c). Domain Message Flow Modelling
Bounded Context Canvas
DDD Crew (2023d). Bounded Context Canvas
Context Map
Bente, S. (2022). Context Map
- Summary of Context Maps
- (Download PDF)
- Still in German, as I haven’t translated it yet.
Esposito, D., & Saltarello, A. (2014). Discovering the Domain Architecture
Plöd, M. (2020). Visualizing sociotechnical architectures with Context Maps
EventStorming
Strictly speaking, EventStorming is a method that can be used without explicit references to DDD, and for purposes outside
software engineering. However, from a DDD (or general software design) perspective, EventStorming is a great tool to
explore the business domain, and for onboarding the develoment team and all relevant stakeholders.
Bente, Stefan (2020). Shopping List for an EventStorming Big Picture Workshop
- (Download PDF)
- Buying Post-Its in the color scheme that Brandolini requires is a surprisingly challenging task.
- This shopping list compiles the most relevant sticky types (or proposes replacements for them, if certain types/colors are unavailable in Germany)
- It also reflects the restrictions of buying such material at TH Köln, given the limited choice of approved suppliers
Bente, Stefan (2022). Cheat Sheet for an EventStorming Big Picture Workshop
- (Download PDF)
- My personal experience running several EventStorming workshops with students
Brandolini, A. (2021). Introducing EventStorming, Leanpub
Brandolini, A. (2020). Remote EventStorming, Avanscoperta Blog
DDD Crew (2022). EventStorming Glossary & Cheat sheet
Gil, M. (2023). Awesome EventStorming - Material Collection on GitHub
Rayner, P. (2022). The EventStorming Handbook, Leanpub
All the Rest :-)
These sources didn’t fit in any of the above categories. Yet, they are relevant and useful sources for
further reading.