Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ddd-crew/free-ddd-learning-resources

A collection of resources for learning DDD. All are free to access.
https://github.com/ddd-crew/free-ddd-learning-resources

domain-driven-design resources

Last synced: 19 days ago
JSON representation

A collection of resources for learning DDD. All are free to access.

Awesome Lists containing this project

README

        

# Free Domain-Driven Design Learning Resources

This repository contains a collection of blog posts, videos and other resources for learning Domain-Driven Design. All resources are free to access.

> Please raise an issue if there is a resource you think should be added to this collection.

*Table of Contents*
1. [DDD Introductions & Fundamentals](#ddd-introductions-and-fundamentals)
2. [Collaborative Modelling](#collaborative-modelling)
3. [Strategic Design](#strategic-design)
4. [Tactical DDD / Domain-as-code](#tactical-ddd--domain-as-code)
5. [Case Studies](#case-studies)
6. [DDD Blogs](#ddd-blogs)

## DDD Introductions and Fundamentals

These resources are typically aimed at beginners providing an overview of DDD as a whole and how the individual concepts fit together.

### EBooks

- [Domain-Driven Design Reference](https://domainlanguage.com/wp-content/uploads/2016/05/DDD_Reference_2015-03.pdf), Eric Evans

- [The Anatomy of Domain-Driven Design](https://leanpub.com/theanatomyofdomain-drivendesign), Scott Millett and Samuel Knight

- [DDD: The First 15 Years](https://leanpub.com/ddd_first_15_years), Various Authors

- [Domain-Driven Design Quickly](https://www.infoq.com/minibooks/domain-driven-design-quickly/), Abel Avram and Floyd Marinescu

### Written Articles

- [Domain-Driven Design](https://martinfowler.com/bliki/DomainDrivenDesign.html), Martin Fowler

- [Domain-driven design needn't be hard. Here's how to start](https://www.thoughtworks.com/insights/blog/domain-driven-design-neednt-be-hard-heres-how-start), Andrew Hamel-law

- [DDD Starter Modelling Process](https://github.com/ddd-crew/ddd-starter-modelling-process)

### Videos

- [What is DDD?](https://www.youtube.com/watch?v=pMuiVlnGqjk), Eric Evans

- [Tackling Complexity in the Heart of Software](https://www.youtube.com/watch?v=dnUFEg68ESM), Eric Evans

- [Getting to DDD: Pragmatic or Principled?](https://www.youtube.com/watch?v=3AAzySH3A88), Julie Lerman

### Other Resources

- [DDD from Product people's perspective](https://drive.google.com/file/d/1cIMdatvI2o3OjGnqnjQX6p6VQWfQAL5Z/view), Zsofia Herendi

- [Virtual DDD Meetup Group](https://virtualddd.com/)

- [DDD-CQRS-ES Discord Server](https://github.com/ddd-cqrs-es/community) is a very active community to ask questions about anything relating to DDD, and get answers from practitioners in different contexts

## Collaborative Modelling

These resources teach and show how software development practitioners and domain experts can work together to model business domains.

### Written Articles

- [Event Storming](https://openpracticelibrary.com/practice/event-storming/), Open Practice Library

- [Domain Storytelling](https://openpracticelibrary.com/practice/domain-storytelling/), Open Practice Library

### Videos

- [100,000 Orange Stickies Later](https://www.youtube.com/watch?v=fGm62ra_mQ8&feature=youtu.be), Alberto Brandolini

### Other Resources

- [Visual Collaboration Tools](https://leanpub.com/visualcollaborationtools), Kenny Baas-Schwegler & João Roasa

- [Awesome EventStorming](https://github.com/mariuszgil/awesome-eventstorming), Mariusz Gil

## Strategic Design

These resources teach how to decompose a large domain into sub-domains and represent them as high-level architectural components called Bounded Contexts.

### Written Articles

- [Bounded Context](https://martinfowler.com/bliki/BoundedContext.html), Martin Fowler

- [Tackling business complexity with strategic domain-driven design](https://inside.getyourguide.com/blog/2019/11/18/tackling-business-complexity-with-strategic-domain-driven-design), Leandro Lages

### Videos

- [Bounded Contexts](https://www.youtube.com/watch?v=ZEJ2Vyk1HA0), Cyrille Martraire

- [Practical DDD: Bounded Contexts + Events](https://www.youtube.com/watch?v=Nr6jAwOunGM), Indu Alagarsamy

- [Emergent Boundaries](https://verraes.net/2017/04/emergent-boundaries/), Matthias Verraes

- [Socio-technical architecture](https://www.youtube.com/watch?v=9Ft39wz6fHM), Ora Egozi Barzilai and Evelyn van Kelle

- [All Our Aggregates Are Wrong](https://www.youtube.com/watch?v=KkzvQSuYd5I), Mauro Servienti

### Other Resources

- [Aligning organization and architecture with strategic DDD](https://speakerdeck.com/mploed/aligning-organization-and-architecture-with-strategic-ddd), Michael Plöd

- [Strategic Domain-Driven Design Kata: Delivericious](https://medium.com/nick-tune-tech-strategy-blog/strategic-domain-driven-design-kata-delivericious-b114ca77163), Nick Tune

## Tactical DDD / Domain-as-code

These resources show how to design software which is closely aligned to the business domain so that it is easier to understand and change.

### Ebooks

- [Architecture Patterns with Python](http://www.cosmicpython.com), Harry Percival & Bob Gregory

### Written Articles

- [Aggregates & Entities in Domain-Driven Design](http://thepaulrayner.com/blog/aggregates-and-entities-in-domain-driven-design/), Paul Rayner

- [Strengthening your domain: a primer](https://lostechies.com/jimmybogard/2010/02/04/strengthening-your-domain-a-primer/), Jimmy Bogard

### Videos

- [Domain Modeling Made Functional](https://www.youtube.com/watch?v=1pSH8kElmM4), Scott Wlaschin

- [Design in the small](https://www.youtube.com/watch?v=3iLW4puXHvc), Yves Reynhout

- [Refactoring for DDD Without Microservicing Your Monolith](https://www.youtube.com/watch?v=y2mL-6CcYBw), Harry Brumleve

### Other Resources

- [DDD By Examples](https://github.com/ddd-by-examples/library), Jakub Pilimon and Bartłomiej Słota

## Case Studies

- [OOps I DDD it again and again](https://www.slideshare.net/OraEgoziBarzilai/mucon-2019-oops-i-ddd-it-again-and-again), Ora Egozi-Barzilai

- [10 Lessons from a Long Running DDD Project](https://lostechies.com/jimmybogard/2016/06/13/10-lessons-from-a-long-running-ddd-project-part-1/), Jimmy Bogard

## DDD Blogs

- [Alberto Brandolini](https://ziobrando.blogspot.it/)

- [DDD Weekly](http://dddweekly.com/)

- [Kenny Baas-Schwegler](https://baasie.com/)

- [Paul Rayner](http://thepaulrayner.com/)

- [Udi Dahan](http://udidahan.com/category/ddd/)

- [Vladik Khononov](https://vladikk.com/)

- [Zsofia Herendi](https://www.zherendi.com/blog)

## Contributions and Inspiration

In addition to the content creators of each of the resources, thanks also goes to the following people:

- [Krzysztof Góralski](https://twitter.com/k_goralski)

- [Nick Chamberlain](https://twitter.com/heynickc)

We also thank to all [existing and future contributors](https://github.com/ddd-crew/free-ddd-learning-resources/graphs/contributors)