Deep Dive: Clean Architecture in .NET

Dive deep into the advanced practices of Clean Architecture in .NET

About This Course

Clean Architecture is one of the most popular software architecture and solution organization approaches out there, and that's for a good reason. It provides a clear path to a robust solution structure with clear guidelines and rules that help you immediately fall into the pit of success. It can, however, be confusing and complicated at first, especially if you don't have an experienced developer explaining the concept and principles to you. In this course, Amichai Mantinband, a Software Engineer at Microsoft, will help you dive deeper into Clean Architecture and teach you all the advanced principles and rules you need to know in easy-to-digest clips and understandable examples. Continue your Clean Architecture journey today on Dometrain!

Course Curriculum

3h 50m 8 sections
Welcome
00:42 Free preview
What will you learn in this course?
00:48 Free preview
Who is the course for and prerequisites
02:18 Free preview
Domain Overview
06:24
Project Structure Overview
02:53
1000 ft. Project Walkthrough
07:47
Section Recap
00:31
Validation Types
04:24
Model Validation
04:49
Model Validation using Fluent Validation
03:01
Implementing a Fluent Validation Command Validator
04:18
MediatR Pipeline Behaviors
03:04
Implementing a MediatR Pipeline Behavior
03:14
Application Layer Cross-Cutting Concerns via Open Generic Pipeline Behaviors
01:44
Implementing Application Layer Cross-Cutting Concerns via Open Generic Pipeline Behaviors
07:44
Domain Layer Validations
02:28
Validating Business Rules in the Domain Layer
01:32
Section Recap
01:01
What are Domain Events?
02:17
The Domain Events Pattern
02:21
Implementing a Domain Event
04:33
Domain Events vs. Orchestration
06:21
Implementing Domain Event Handlers
05:36
Section Recap
00:50
Eventual Consistency vs. Transactional Consistency
05:26
Eventual Consistency Most Common Implementation and Why it is Wrong
05:28
A better approach for handling Eventual Consistency
04:17
Implementing Extracting Domain Events For Offline Processing
07:59
Implementing Eventual Consistency via an Eventual Consistency Middleware
13:24
Section Recap
01:03
Testing in Clean Architecture
07:36
Domain Layer Unit Testing
01:38
Implementing Domain Layer Unit Tests
11:47
Application Layer Unit Testing
01:48
Implementing Application Layer Unit Tests Part 1
10:17
Implementing Application Layer Unit Tests Part 2
01:00
Implementing Application Layer Unit Tests Part 3
04:16
Subcutaneous Testing
01:14
Implementing Subcutaneous Testing Part 1
09:12
Implementing Subcutaneous Testing Part 2
03:07
Implementing Subcutaneous Testing Part 3
04:40
Integration Testing
01:19
Implementing Integration Testing
07:56
Section Recap
01:50
Authentication and Authorization in Clean Architecture
04:50
Register, Login, and Create Profile Endpoints Overview
08:19
Accessing the Requesting User's Details From the Domain and Application Layers Part 1
04:27
Accessing the Requesting User's Details From the Domain and Application Layers Part 2
06:13
The 3 Types of Permission-Based Authorization
01:45
Implementing Permission-Based Authorization
11:43
Implementing Role-Based Authorization
04:42
Section Recap
01:44
Conclusion
00:52

Meet Your Instructor

Amichai Mantinband

Amichai Mantinband

Amichai Mantinband is a Software Engineer at Microsoft and a .NET content creator.
He works on large-scale, distributed systems within Microsoft Office, serving over 100 million daily users. He is a speaker at official .NET conferences, and within Microsoft, he authors and teaches software architecture courses.
Amichai is the author of NuGet packages ErrorOr & Throw and has a .NET programming YouTube channel covering advanced topics such as design patterns, architecture, and best practices.

View all courses by Amichai Mantinband

What's New

Getting Started: Building .NET Applications on AWS
course

Getting Started: Building .NET Applications on AWS

Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

Learn More
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