English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 91 Lessons (5h 42m) | 1.06 GB
Dive deeper into your Domain-Driven Design journey
Domain-driven design (or DDD for short) is one of the most popular software design approaches and for excellent reason. It allows us to build highly maintainable systems using domain-specific expertise and base our implementation on well-developed models using ubiquitous language. In this course, Amichai Mantinband will expand on his existing Getting Started course knowledge and dive deeper into advanced DDD concepts such as event storming, sub-domains, bounded contexts, context mapping, aggregate design and more.
Table of Contents
1 Welcome
2 What will you learn in this course
3 Who is the course for and prerequisites
4 Designing Systems Following Domain-Driven Design
5 Key Strategic and Tactical Practices
6 Domain Discovery
7 Domain Discovery Techniques
8 Event Storming Sneak Peek
9 Documenting Ubiquitous Language
10 Documenting Invariants
11 Section Recap
12 What is Event Storming
13 Event Storming Legend
14 Types of Event Storming
15 Big Picture Event Storming
16 Gym Session Scheduling System Domain Overview
17 Big Picture Event Storming In Action – Setup
18 Round 1 – Chaotic Exploration
19 Round 2 – Enforce the Timeline
20 Round 3 – People & Systems
21 Round 4 – Walkthrough & Reverse Narrative
22 Round 5 – Arrow Voting
23 Big Picture Event Storming Goals
24 Section Recap2
25 What is Process Modeling Event Storming
26 Process Modeling – The Rules of the Game
27 Process Modeling in Action – Setup
28 Round 1 – Framing the Problem
29 Round 2 – Rush to the Goal
30 Round 3 – Fill in the Blanks
31 Process Modeling Event Storming Goals
32 Section Recap3
33 Refresher – What are Domains & Sub-Domains
34 Identifying Sub-Domains
35 Classifying Sub-Domains
36 Section Recap4
37 Refresher – What are Bounded Contexts
38 Reviewing Our Ubiquitous Language
39 Reviewing Our Invariants
40 Reviewing Our Sub-Domains
41 How Bounded Contexts Affect Domain Models
42 Defining Bounded Contexts
43 Defining Our Bounded Contexts
44 Section Recap5
45 Refresher – What is Context Mapping
46 Team Relationships
47 Context Map Patterns
48 Context Mapping In Action – Setup & Context
49 Creating an Admin Profile
50 Creating a Subscription
51 Creating a Gym
52 Creating a Room
53 Creating a Session
54 Creating a Participant Profile
55 Reserving a Spot in a Session
56 Context Mapping In Action – Conclusion
57 Strategic Goals Alignment
58 Section Recap6
59 Refresher – What is the Tactical Phase
60 Refresher – Tactical Patterns
61 Tactical Phase Objectives
62 Section Recap7
63 Enforce Invariants
64 Reference Aggregates By Id
65 Update Aggregate via Aggregate Root
66 Prefer Smaller Aggregates
67 One Aggregate Per Transaction
68 Use Eventual Consistency Outside the Boundary
69 Maintain Aggregate Scope
70 Aggregate Root Identity Uniqueness
71 Private Public
72 Assess and Refactor
73 Aggregate Design Steps
74 Aggregate Design In Action – Step 1
75 Aggregate Design In Action – Step 2
76 Aggregate Design In Action – Step 3
77 Aggregate Design In Action – Step 4 Setup
78 Merging Aggregates in the User Management Context
79 Merging Aggregates in the Gym Management Context
80 Merging Aggregates in the Session Management Context – The Chain Effect of Merging Aggregates
81 Merging Aggregates in the Session Management Context – Identifying Missing Domain Objects
82 Merging Aggregates in the Session Management Context Continued
83 Merging Aggregates in the Session Management Context – Propagating Data Across Bounded Contexts
84 Merging Aggregates Across Bounded Contexts
85 Merging Aggregates in the Session Management Context – Continued
86 Aggregate Design Draft Reflection
87 Merging Aggregates Based On Eventual Consistency Constraints
88 Evolving Aggregate Design With Time or Refactoring Existing Aggregate Designs
89 Converting Aggregate Design To Code
90 Section Recap8
91 Course Conclusion
Resolve the captcha to access the links!