© 2026 Dometrain. All rights reserved.
Learn how to structure your .NET applications with modular monoliths. This course covers designing modular systems that improve maintainability without the complexity of microservices.
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, you’ll learn how to get started building a modular monolith application using a real world sample, the RiverBooks ecommerce site.
A good overview of Modular Monolits and their implementation in a project.
Modular monoliths address some problems that can occur in products that have grown over the years.
Great course, good to start with the basics. Steve also really explained everything quite well
How to connect up all the different modules and how to seperate them and keep them seperated
I really liked the fact that a real application was built with this type of architecture.
I learned how to build modular applications and, most importantly, how to enable communication between modules while keeping them loosely coupled.
The structure of the course and the introduction of the different concepts were really well done. The example application also makes it easy to follow.
The different ways modules can communicate between each other, with a correct (yet simple) option being highlighted and used.
Be nice if the course could receive a little update for newer versions of .net core i.e. using the ResponseSender in FastEndpoints. But a great course, look forward tothe deep dive next!
The separation of the modules andusing MediatR to sepparate concerns
Clear examples and interesting way of building something from scratch and restructuring it to make things more clean and readable
The use of Mediatr, FastEndpoint and how you can create a proper separation