Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Deep Dive: Modular Monoliths in .NET
Course overview
Welcome (1:22)
What will you learn in this course? (1:55)
Who is the course for and prerequisites (1:19)
The Sample Application
Introducing the Sample App (11:30)
New Requirements (1:38)
High Level Design Considerations (2:24)
Introducing the Shared Kernel (2:18)
Key Takeaways (2:23)
Module Communication Patterns
How can modules communicate? (5:46)
Direct Synchronous Calls (4:47)
The Mediator Pattern (4:30)
Commands, Queries, and Events (4:15)
Non-Blocking Communications (4:15)
The Outbox Pattern (2:38)
Materialized Views (3:02)
Key Takeaways (2:26)
The Order Processing Module
Adding an OrderProcessing Module (24:45)
Adding Addresses (7:39)
Implementing a Materialized View (4:30)
Updating the Materialized View (23:21)
Key Takeaways (1:05)
Upgrading the Order Processing Module
Refactoring to Clean Architecture (13:34)
Enforcing Architecture Rules with ArchUnit.NET (8:06)
Using Chain of Responsibility for Cross-Cutting Concerns (16:23)
Key Takeaways (2:14)
The Email Sending Module
Introducing the EmailSending Module (4:38)
Sending Registration Emails via MediatR (5:54)
Sending Order Confirmation Emails via Domain Events (8:52)
Implementing a Simple Outbox with MongoDB (21:03)
Using Vertical Slice Architecture (6:41)
Key Takeaways (1:26)
The Reporting Module
Introducing the Reporting Module (3:45)
The Top Selling Books Report (4:29)
Reach-In Reporting Antipattern (6:01)
Adding a Reporting Database with Updates (13:44)
Key Takeaways (2:27)
Summary and Next Steps
Key Concept Review (9:27)
Full RiverBooks App Walkthrough (11:31)
Next Steps (2:52)
Rate this course
Introducing the Shared Kernel
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock