The path
Domain-Driven Design
DDD helps you tackle complex domains: developers and business experts build a model and a shared language together. It starts with strategic design (bounded contexts and how they integrate) and continues with the tactical patterns to implement the model.
Topics
Strategic DDD
Problem Domain, Core Domain, Subdomains, Bounded Contexts, Context Map, Domain Model, Transaction Script, Ubiquitous Language, Anticorruption Layer, Shared Kernel, Open-Host Service, Separate Ways, Partnership, Upstream/Downstream, Customer-Supplier, Conformist, Use Cases
Knowledge Crunching
Vision, Powerful Questions, CRC Cards, Impact Mapping, Event Storming
Bounded Context Integration
Database Integration, Flat File Integration, RPC, Messaging, REST, Eventual Consistency, Event-Driven Reactive DDD
Value Objects
Entities
Domain Services
Domain Events
Aggregates
Factories
Repositories
Event Sourcing
Application Services
Command Processor, Publish/Subscribe, Request/Reply, async/await
DDD UI
Task Based UI, Composed UI
CQRS
Reporting
Resources
- «Primitive Obsession» Obsession
Article · 3 pages
- Primitive Obsession
Article · 2 pages
- Power Use of Value Objects in DDD
Video · 1 h 1 min
- DDD Crash Course 1 - Strategic Domain-Driven Design
Article · 9 pages
- DDD Crash Course 2 - Tactical Domain-Driven Design
Article · 30 pages
- DDD Crash Course 3 - Domain-Driven Design and the Hexagonal Architecture
Article · 25 pages
- Why CRUD might be what they want, but may not be what they need
Article · 3 pages
- Implementing DDD
Book · Vaughn Vernon, Addison-Wesley, 2013 · Whole book · 925 pages
- Patterns, Principles and Practices of DDD
Book · Scott Millett, Nick Tune, Wrox, 2015 · Whole book · 795 pages
- Anemic Domain Model
Article · 2 pages
- The catalogue metaphor and command-query separation architectures
Article · 1 pages
Video · 1 h 4 min
- Domain-Driven Design: Tackling Complexity in the Heart of Software
Book · Eric Evans, Addison-Wesley, 2003 · Whole book · 446 pages
Katas to practice

Corporate Hotel Booking
Build a corporate hotel booking engine using Outside-In TDD


Zombie Survivor
The zombie apocalypse is here!! A fun game to improve TDD and design skills

Social Network
Build an X-like social network, from the console to the web and mobile