Implementing Domain Driven Design as a Pragmatic .NET Developer
summary
Practical DDD for .NET shows a concrete solution layout: split domain into domain.shared and domain, separate application contracts from implementations, and put Entity Framework wiring in an infrastructure package so the domain stays ORM-independent. Uses a GitHub-issues example aggregate, enforces invariants via constructors and methods, prefers GUID identities, loads aggregates wholly, creates repositories only for aggregate roots, and factors reusable filters with the Specification pattern. Recommends DTO-for-input segregation, Mapperly/AutoMapper for outputs, and explicit updates/unit of work.
AI-written summary · about
chapters (15)
- 0:00Simple maintainable code
- 2:37Introduction
- 5:30What is DDD
- 6:55DDD layers in .NET
- 13:07Implementing aggregates
- 16:38Aggregate root rules
- 20:39Entities and business rules
- 26:22Repositories in DDD
- 30:20Specification pattern
- 34:40Domain services use cases
- 37:09App vs domain services
- 41:50Designing data transfer objects effectively
- 47:10Object mapping guidelines
- 49:40Separating logic
- 55:29Recommended books
related talks
48mDomain-Driven Design tactically and practically
59mDomain-Driven Design - Where Rubber Meets the Road
38mWhat I talk about when I talk about Domain Driven design
59mDomain-Driven Design: A Recipe for the Pragmatist
45mDon't Overdose on Domain-Driven Design
01h 00mFrom Domain Driven Design DDD to Delivery
44mStrategic Domain-Driven Design for dummies
49mHow to cook Domain Driven Design
