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.
Welcome
What will you learn in this course?
Who is the course for and prerequisites
Introducing the Sample App
New Requirements
High Level Design Considerations
Introducing the Shared Kernel
Key Takeaways
How can modules communicate?
Direct Synchronous Calls
The Mediator Pattern
Commands, Queries, and Events
Non-Blocking Communications
The Outbox Pattern
Materialized Views
Key Takeaways
Adding an OrderProcessing Module
Adding Addresses
Implementing a Materialized View
Updating the Materialized View
Key Takeaways
Refactoring to Clean Architecture
Enforcing Architecture Rules with ArchUnit.NET
Using Chain of Responsibility for Cross-Cutting Concerns
Key Takeaways
Introducing the EmailSending Module
Sending Registration Emails via MediatR
Sending Order Confirmation Emails via Domain Events
Implementing a Simple Outbox with MongoDB
Using Vertical Slice Architecture
Key Takeaways
Introducing the Reporting Module
The Top Selling Books Report
Reach-In Reporting Anti-pattern
Adding a Reporting Database with Updates
Key Takeaways
Key Concept Review
Full RiverBooks App Walkthrough
Next Steps
Course Info
Lifetime access
Add to Cart
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© 2023 Dometrain. All rights reserved.