• Courses
  • Learning Paths
  • Blogs
  • Authors
  • Dometrain Pro
  • Shopping Basket

    Your basket is empty

  • Business Portal
  • Deep Dive: Modular Monoliths in .NET

    Take your Modular Monoliths journey to the next level

    About This Course

    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.

    Course Curriculum

    4h 21m 8 sections
    Welcome
    1:22 Free preview
    What will you learn in this course?
    1:55 Free preview
    Who is the course for and prerequisites
    1:19 Free preview
    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

    Meet Your Instructor

    Steve "ardalis" Smith

    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.

    View all courses by Steve "ardalis" Smith

    What's New

    What's new in C# 14
    blog

    What's new in C# 14

    This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

    Learn More
    Let's Build It: AI Chatbot with RAG in .NET Using Your Data
    course

    Let's Build It: AI Chatbot with RAG in .NET Using Your Data

    Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

    Learn More
    From Zero to Hero: SignalR in .NET
    course

    From Zero to Hero: SignalR in .NET

    Enable enterprise-grade real-time communication for your web apps with SignalR.

    Learn More
    Deep Dive: Solution Architecture
    course

    Deep Dive: Solution Architecture

    Master solution architecture and turn business needs into scalable, maintainable systems.

    Learn More
    Migrating: ASP.NET Web APIs to ASP.NET Core
    course

    Migrating: ASP.NET Web APIs to ASP.NET Core

    A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

    Learn More
    Getting Started: Caching in .NET
    course

    Getting Started: Caching in .NET

    Let's make the hardest thing in programming easy for .NET software engineers.

    Learn More
    From Zero to Hero: Testing with xUnit in C#
    course

    From Zero to Hero: Testing with xUnit in C#

    Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

    Learn More
    Create a ChatGPT Console AI Chatbot in C#
    blog

    Create a ChatGPT Console AI Chatbot in C#

    This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

    Learn More