Until January 2nd 2025, when you have more than one item in your basket, the cheapest one is FREE! Up to 3 orders per student. Happy Holidays!

Deep Dive: Modular Monoliths in .NET

Take your Modular Monoliths journey to the next level

A monolith refers to a software application that is deployed as a single physical deployment. Many monolithic applications lack sufficient structure and end up becoming Big Balls of Mud. By contrast, a modular monolith breaks up the application into logical modules which are largely independent from one another. This provides many of the benefits of more distributed approaches like microservices without the overhead of deploying and managing a distributed application. In this course, we will build on top of your existing knowledge of Modular Monoliths that you gained during the Getting Started course of the series and you’ll learn how to apply advanced Modular Monolith patterns and add more features to the RiverBooks ecommerce site.

Curriculum

Welcome (1:22)

What will you learn in this course? (1:55)

Who is the course for and prerequisites (1:19)

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)

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)

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)

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)

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)

Introducing the Reporting Module (3:45)

The Top Selling Books Report (4:29)

Reach-In Reporting Anti-pattern (6:01)

Adding a Reporting Database with Updates (13:43)

Key Takeaways (2:27)

Key Concept Review (9:27)

Full RiverBooks App Walkthrough (11:31)

Next Steps (2:52)

Course Info

Level:
Deep Dive
Duration:
4h 21m
Rating (2,6K+):
star

Lifetime access

Add to Cart

Part of the bundle

From Zero to Hero: Modular Monoliths in .NET Bundle thumbnail Get it for 20% off
Dometrain Pro

Want access to all of our courses? Subscribe to Dometrain Pro!

Try it for free!

About the Author

author_img

Steve "ardalis" Smith

Steve "ardalis" Smith is an entrepreneur and software developer with a passion for building quality software as effectively as possible. He provides mentoring and training workshops for teams with the desire to improve. Steve has been recognized as a Microsoft MVP for over 10 consecutive years, and is a frequent speaker at software developer conferences and events. He is the top contributor to the official documentation on ASP.NET Core and enjoys helpings others write maintainable, testable applications using Microsoft's developer tools.

More courses by Steve "ardalis" Smith