What is Domain Model? An object model of the domain that incorporates both behavior and data.' - Martin Fowler
4
Bounded Contexts • A defined part of software where particular terms, definitions and rules apply in a consistent way Clear boundaries between different parts of the system
5
Inside the Core Domain
6
Sample Domain
7
Extract Methods
8
Avoid Public Setters
9
Encapsulate Behavior in Domain Model
10
Encapsulate Behavior in Domain Service
11
Double Dispatch
12
Domain Events
13
From Primitive Obsession to Value Objects
14
Where is the Repository?
15
Can the Unit of Work help us?
16
Embrace the DbContext
17
Specification: Current Query
18
Specification: Base Classes
19
Specification: Concrete Sample
20
Specification: Extension Methods
21
Base Entity ID
Description:
Explore Domain-Driven Design (DDD) and its practical implementation with Entity Framework Core in this conference talk from NDC London 2021. Delve into key DDD concepts such as bounded contexts, domain models, and encapsulation of behavior. Learn how to extract methods, avoid public setters, and leverage domain services and events. Discover techniques for moving from primitive obsession to value objects, and understand the role of repositories and units of work in DDD. Gain insights into embracing DbContext and implementing specifications with base classes and extension methods. Master the art of creating clear boundaries between different parts of your system and building a robust domain model that incorporates both behavior and data.