Урок 1.00:01:21
Getting Started
Урок 2.00:02:18
Course Outline and Prerequisites
Урок 3.00:03:41
Area of Application for Domain-Driven Design
Урок 4.00:02:30
Why Domain-Driven Design?
Урок 5.00:03:32
Main Concepts of Domain-Driven Design
Урок 6.00:02:56
Domain-Driven Design Is Not Only About Writing Code
Урок 7.00:04:29
Onion Architecture and Domain Isolation
Урок 8.00:01:08
Modeling Best Practices
Урок 9.00:02:46
Domain-Driven Design and Unit Testing
Урок 10.00:03:24
The Problem Domain Introduction
Урок 11.00:01:32
Summary
Урок 12.00:00:31
Introduction
Урок 13.00:01:27
Vocabulary Used
Урок 14.00:00:55
Problem Description
Урок 15.00:04:00
Starting with Snack Machine
Урок 16.00:01:21
Recap: Starting with Snack Machine
Урок 17.00:03:16
Entities vs. Value Objects
Урок 18.00:02:51
How to Recognize a Value Object in Your Domain Model?
Урок 19.00:01:45
Entity Base Class
Урок 20.00:03:29
Demo: Entity Base Class
Урок 21.00:00:33
Recap: Entity Base Class
Урок 22.00:01:48
Value Object Base Class
Урок 23.00:00:58
Recap: Value Object Base Class
Урок 24.00:01:15
Value Objects vs. .NET Value Types
Урок 25.00:01:48
When to Write Unit Tests
Урок 26.00:05:31
Implementing the Money Class
Урок 27.00:04:35
Building up the Money Class
Урок 28.00:05:23
Implementing the Snack Machine Class
Урок 29.00:01:57
Recap: Implementing Money and Snack Machine
Урок 30.00:03:06
Summary
Урок 31.00:00:30
Introduction
Урок 32.00:02:19
Application Services and UI in the Onion Architecture
Урок 33.00:09:30
Adding UI for the Snack Machine
Урок 34.00:01:46
Recap: Adding UI for the Snack Machine
Урок 35.00:03:05
Designing the Database for the Snack Machine
Урок 36.00:02:46
Introducing an ORM
Урок 37.00:03:22
ID Generation Strategies
Урок 38.00:01:44
Mapping Strategies
Урок 39.00:03:50
Adjusting the Domain Layer for the Use with ORM
Урок 40.00:03:06
Putting It All Together
Урок 41.00:01:29
Summary
Урок 42.00:00:25
Introduction
Урок 43.00:01:14
Problem Description
Урок 44.00:04:44
Starting with the Implementation
Урок 45.00:03:53
Aggregates
Урок 46.00:04:42
How to Find Boundaries for Aggregates
Урок 47.00:01:43
Aggregate Root Base Class
Урок 48.00:07:18
Refactoring the Snack Machine Aggregate
Урок 49.00:01:25
Recap: Refactoring the Snack Machine Aggregate
Урок 50.00:01:54
Implementing Missing Requirements
Урок 51.00:06:05
Revealing a Hidden Requirement
Урок 52.00:00:49
Recap: Revealing a Hidden Requirement
Урок 53.00:01:50
Summary
Урок 54.00:00:19
Introduction
Урок 55.00:00:45
Adjusting the Database for the New Entities
Урок 56.00:02:48
Repositories
Урок 57.00:02:47
Repository Base Class
Урок 58.00:03:03
Setting up Mappings for the Aggregates
Урок 59.00:03:06
Refactoring the Snack Entity
Урок 60.00:06:48
Adjusting the User Interface
Урок 61.00:01:21
Summary
Урок 62.00:00:37
Introduction
Урок 63.00:01:00
New Task: an ATM Model
Урок 64.00:02:26
Bounded Contexts
Урок 65.00:02:03
Bounded Contexts and Sub-domains
Урок 66.00:03:44
Choosing Boundaries for Bounded Contexts
Урок 67.00:01:38
Drawing a Context Map
Урок 68.00:03:46
Types of Physical Isolation
Урок 69.00:02:03
Communication Between Bounded Contexts
Урок 70.00:04:12
Code Reuse Between Bounded Contexts
Урок 71.00:05:27
Implementing ATM Domain Logic
Урок 72.00:01:11
Adjusting the database
Урок 73.00:04:06
Adding UI
Урок 74.00:01:48
Summary
Урок 75.00:00:22
Introduction
Урок 76.00:00:57
New Requirements
Урок 77.00:02:43
Introducing a New Bounded Context
Урок 78.00:02:51
Implementation: the First Attempt
Урок 79.00:02:03
Domain Events
Урок 80.00:03:25
Introducing a Domain Event
Урок 81.00:01:04
Physical Delivery
Урок 82.00:03:10
Building up Management Bounded Context
Урок 83.00:05:15
Handling Domain Events with the Classic Approach
Урок 84.00:02:33
Recap: Classic Approach
Урок 85.00:06:44
A Better Approach to Handling Domain Events
Урок 86.00:01:12
Recap: a Better Approach
Урок 87.00:01:02
Using Domain Events to Communicate Between Microservices
Урок 88.00:03:26
Adding Interface for the Management Bounded Context
Урок 89.00:02:59
Summary
Урок 90.00:00:27
Introduction
Урок 91.00:03:42
Always Valid vs. Not Always Valid
Урок 92.00:01:36
Factories
Урок 93.00:01:50
Domain Services vs. Application Services
Урок 94.00:01:31
Anemic Domain Model Anti-pattern
Урок 95.00:01:20
Fat Entities Anti-pattern
Урок 96.00:02:46
Repository Anti-patterns
Урок 97.00:01:17
Mechanical Approach to DDD
Урок 98.00:01:44
Further Enhancements
Урок 99.00:01:46
Module Summary
Урок 100.00:01:25
Resource List
Урок 101.00:00:49
Course Summary