Урок 1.00:01:12
Welcome
Урок 2.00:02:14
What will you learn in this course?
Урок 3.00:03:11
Who is the course for and prerequisites
Урок 4.00:01:28
What is Domain-Driven Design?
Урок 5.00:04:27
What is a Domain?
Урок 6.00:02:20
Why you should learn and practice DDD
Урок 7.00:04:58
The two parts of DDD
Урок 8.00:01:48
Section Recap
Урок 9.00:06:07
The domain we’ll be exploring
Урок 10.00:04:31
The domain’s Ubiquitous Language
Урок 11.00:03:42
Ubiquitous Language as a tool for detecting Domain Objects
Урок 12.00:03:01
The domain’s invariants
Урок 13.00:02:45
Enforcing invariants
Урок 14.00:05:21
Creating the domain objects
Урок 15.00:10:42
Invariants as Unit Tests
Урок 16.00:12:23
Enforcing Invariants that rely on dependencies
Урок 17.00:10:09
The Result Pattern
Урок 18.00:02:11
Section Recap
Урок 19.00:03:16
What are Tactical Patterns?
Урок 20.00:03:34
What is Tactical Design?
Урок 21.00:03:50
Entities
Урок 22.00:02:24
Implementing the Entity base class
Урок 23.00:07:30
Value Objects
Урок 24.00:02:40
Implementing the Value Object base class
Урок 25.00:06:03
Aggregates
Урок 26.00:06:17
Shifting the focus to Aggregates
Урок 27.00:01:10
Implementing the Aggregate base class
Урок 28.00:08:35
Structuring the Domain Layer around Aggregates
Урок 29.00:05:33
Domain Services
Урок 30.00:03:35
Factories
Урок 31.00:05:06
Implementing a Static Factory Method
Урок 32.00:04:41
Repositories
Урок 33.00:01:41
Disconnected Domain Models
Урок 34.00:03:19
Repositories and EF Core
Урок 35.00:03:15
Implementing a Repository
Урок 36.00:01:17
Section Recap
Урок 37.00:04:50
Accessing the Domain Layer via a web API
Урок 38.00:06:46
A system without Domain Events
Урок 39.00:01:17
Eventual Consistency
Урок 40.00:05:28
What is a Domain Event?
Урок 41.00:06:44
The Domain Event Sausage Factory
Урок 42.00:06:42
Implementing a Domain Event
Урок 43.00:01:24
Section Recap
Урок 44.00:01:42
Domain Modeling & Analysis Paralysis
Урок 45.00:02:29
Domain Model Identity Uniqueness
Урок 46.00:03:39
Domain Object Deletion
Урок 47.00:03:22
One Aggregate Per Transaction
Урок 48.00:03:44
Reference Between Domain Models
Урок 49.00:00:56
Section Recap
Урок 50.00:05:12
Application Services vs Domain Services
Урок 51.00:05:09
Transactional vs. Eventual Consistency
Урок 52.00:03:58
Rich vs. Anemic Domain Models
Урок 53.00:02:33
Always Valid vs. Not Always Valid
Урок 54.00:01:10
Persistence Ignorance
Урок 55.00:01:21
Section Recap
Урок 56.00:04:42
What is Strategic Design?
Урок 57.00:03:31
Sub-Domains
Урок 58.00:03:41
The 3 types of Sub-Domains
Урок 59.00:04:15
Context Mapping and Context Maps
Урок 60.00:04:44
Context Map example
Урок 61.00:01:45
Team Relationships
Урок 62.00:03:08
Context Map Patterns
Урок 63.00:01:19
Section Recap
Урок 64.00:05:30
Bounded Contexts
Урок 65.00:05:18
Bounded Contexts vs. Sub-Domains (Problem vs. Solution Space)
Урок 66.00:04:07
Exploring our Domain’s Bounded Contexts
Урок 67.00:06:11
Exploring relationships between our Bounded Contexts
Урок 68.00:05:01
Defining our Context Map
Урок 69.00:01:10
Section Recap
Урок 70.00:02:47
What are Integration Events?
Урок 71.00:04:22
The chain of Integration and Domain Events
Урок 72.00:04:30
Using a Message Broker for distributing Integration Events
Урок 73.00:03:57
Error handling when publishing Integration Events
Урок 74.00:04:26
The Outbox Pattern
Урок 75.00:04:19
The Integration Events Sausage Factory - Outbox Writer
Урок 76.00:01:57
The Integration Events Sausage Factory - Integration Event Publisher
Урок 77.00:05:18
The Integration Events Sausage Factory - Consuming Integration Events
Урок 78.00:00:46
Section Recap
Урок 79.00:01:31
Course conclusion