ASP.NET Core - SOLID and Clean Architecture

Create a SOLID and testable ASP.NET Core Application using CQRS, Mediator Pattern and clean architecture.

4.53 (1737 reviews)
Udemy
platform
English
language
Web Development
category
ASP.NET Core - SOLID and Clean Architecture
13,487
students
10 hours
content
Feb 2024
last update
$84.99
regular price

What you will learn

Implement SOLID Principles

ASP .NET Core Blazor and API Development

Advanced Tools - MediatR, Automapper, Fluent API and Validation

Custom Exceptions and Global Error Handling

Custom .NET Core Middleware

Using NSwag and NSwag Studio

Use Swagger for API Documentation

Implement CQRS Pattern

Use Identity and JWT To Secure Application API

Build API Client Secure Application

Moq and Shouldly Frameworks

Unit Testing

Why take this course?

Overview

Creating a modular, testable, and maintainable application in .NET Core requires a solid foundation. Setting up an application architecture requires foresight and much consideration, as early decisions will impact how easily the application is extended and maintained.

In the long run, though, applications need to be maintained and, in this case, extended. Between its design and the way the code was written, neither is possible, so the application needs to be redesigned and future-proofed.

Why SOLID Architecture?

When we talk about SOLID architecture, what we refer to isn’t a straightforward task. Decisions made early in the process can have a large impact later on, and maintainability and testability play an important role. Adopting these practices can also contribute to avoiding code smells, refactoring code, and facilitating more efficient agile development.

SOLID stands for:

  • S - Single-Responsibility Principle

  • O - Open-closed Principle

  • L - Liskov Substitution Principle

  • I - Interface Segregation Principle

  • D - Dependency Inversion Principle

In this course, you explore foundational architectural principles which help with the creation of maintainable code. You will discover how to set up a real-world application architecture with ASP.NET Core. Then, you’ll learn how to plug in different, common blocks such as email and authentication and have a foundation to plug-in other third-party services as needed.

Everything in this course is .NET 6 / .NET 7 compatible.

When you finish this course, you’ll have the skills and knowledge to create a testable and maintainable ASP.NET Core application to architect real-world enterprise .NET Core apps.

N.B. - The project in this course is based on the deliverables in Complete ASP.NET Core and Entity Framework Development. While it is not mandatory to do this course, much of the existing code will be reused from this course's content.

Build A Strong Foundation in .NET Clean Architecture:

  • Learn Clean or Onion Architecture and Best Practices

  • Learn Command Query Responsibility Segregation (CQRS)

  • Implement Mediatr Pattern

  • Add Email Service using SendGrid

  • Efficient Exception Handling and Routing

  • Implementing Unit Testing

  • Moq and Shouldy

  • Global Error Handling with Custom Middleware and Exceptions

  • Adding Validation Using Fluent Validation

  • Build a .NET Core API and Blazor UI Application

  • Implement JWT(JSON Web Token)  Authentication

Content and Overview

To take this course, you must have some knowledge of .NET Core development and C#.

This is a huge course. Over 10 hours of premium content, but smartly broken up to highlight related activities based on each module in the application being built. We will also look at troubleshooting and debugging errors as we go along; implementing best practices; writing efficient logic, and understanding why developers do things the way they do. Your knowledge will grow, step by step, throughout the course, and you will be challenged to be the best you can be.

We don't do things the perfect way the first time; that is different from the reality of writing code. We make mistakes and point them out and fix them around them. By doing this, we develop proficiency in using debugging tools and techniques. By the time you have finished the course, you will have moved around in Visual Studio and examined logic and syntax errors so much that it will be second nature for you when working in the .NET environment. This will put your newly learned skills into practical use and impress your boss and coworkers.

The course is complete with working files hosted on GitHub, including some files to make it easier for you to replicate the demonstrated code. You will be able to work alongside the author as you work through each lecture and will receive a verifiable certificate of completion upon finishing the course.

Clicking the Take This Course button could be the best step you could take towards quickly increasing your income and marketability! Also, remember that if you don't think the course is worth what you spent, you have a full 30 days to get a no questions asked refund!


It's time to take action!

See you in the course!


Content

Introduction

Introduction

Setting Up Application Core - CQRS and Mediator Patterns

Understanding Clean Architecture
What We Will Be Building
Setting Up Solution
Creating The Domain Project
Creating the Application Project
Implementing Automapper
Implementing MediatR and CQRS - Part 1 - Queries
Implementing MediatR and CQRS - Part 2 - Queries
Implementing MediatR and CQRS - Part 3 - Commands
Implementing MediatR and CQRS - Part 4 - Commands
Adding Validation
Adding Custom Exceptions and Response Objects
Additional Refactoring and Considerations
Section Source Code

Setting Up The Application Infrastructure

Section Overview
Adding Entity Framework Core
Implementing Persistence Layer
Add Infrastructure Project (Email Service)
Section Source Code

Implement API and Mediatr

Create and Configure Application API
Use MediatR For Thin Controllers - Part 1
Use MediatR For Thin Controllers - Part 2
Seed Data In Tables
Review Swagger API Support
Section Source Code

Unit Testing

Section Overview
Write Unit Tests for Application Code
Section Source Code

Add MVC Client Application

Setup ASP.NET MVC Project
Use NSwag for API Client Code
Setup Custom API Clients and Base Code
Setup Leave Type Management Service
Setup Leave Type Management UI
Add Json Web Token (JWT) Authentication to API
Add Authentication to Web Project
Setup Leave Allocation Management
Setup Leave Request Management - Part 1 - Employee
Setup Leave Request Management - Part 2 - Admin
Section Source Code

Value Added Features and Activities

Unit Of Work For Batch Operations
API Exception Handling
Handling Token Expiration
Improve Data Auditing
Section Source Code

Summary and Closing

Conclusion

Reviews

Kevin
October 13, 2023
That is amazing :) , I am a big fan of learning by doing and I would like to say that I am satisfied with this course. Please can you do one about BDD with one project for the application. Great Job
LINDA
September 26, 2023
I think there is a bit missing from the instructor's delivery - not as attention grabbing. At times I find myself wandering off doing other things as opposed to be in tune and focused on the course content.
Claus
September 9, 2023
Quite confusing in the beginning, jumps quite a lot between previous implementations, and some lessons have sentences/speach about what is supposed to come in the next lesson, but then in the next lesson, it's something completely different...
Ruban
September 8, 2023
The course was very good. The explanations were on point and learned what I wanted to learn. The video quality wasn't very good as I had to put it to full screen sometimes to see the code. Putting that aside, the course was perfect. Good work!!!
Michael
August 27, 2023
Very cool, to see all the different ways of implementations you provide. Really provides much to learn. However, what I didn't like, is that the introduction was just a short "We are building the same project I did in the last course, but clean"... This is pure confusing when you don't have purchased the other course :/ I really had hard times to figure out what this is all about. Took me till we implemented the api controller of the leave requests until I understood correctly what the different parts are for :S
Tze
August 21, 2023
This course helped me to have a deep understanding on Clean Architecture with SOLID principles using .NET Core, CQRS and Repositories pattern. Coding along way will help one have better understanding.
Prashanth
June 19, 2023
Thank you Trevoir, I was really struggling trying to grasp some concepts of Clean architecture and Fluent Validations and Unit Testing but you made it so so easy. You are a great teacher, easy to understand and keeping it simple yet showing how it should be done. Please keep it going, big thank you.
Andres
May 24, 2023
I started watching Trevor's videos on his YouTube channel and after taking a free wep api course I decided to sign up. I must say that although I already have experience using clean architecture, I knew that I was not doing it correctly and that's why I decided to improve my skills. The course is very complete, many concepts are put into practice and I really learned a lot. The unit tests part can be greatly improved, but I ended up very happy and satisfied with the investment made
Marcelo
May 22, 2023
The course is a waste of time. Definitely clean architecture is very complex and creates a chaotic structure to create abstractions that are extremely flexible and enormously useless in terms of cost/benefit.
Rakesh
April 23, 2023
The content is thorough and well organized, covering the SOLID principles and clean architecture concepts in a clear and comprehensive manner. I appreciate how you explained the relationship between the principles and demonstrated their practical application. Thank you for creating such a valuable resource!
Opara
April 15, 2023
The course is very thorough and practically shows the implementation details of the clean architecture very well
Lou
April 10, 2023
The UpdateLeaveType UI call has been changed from requiring just a LeaveTypeVM to requiring a int Id and the LeaveTypeVM, with no explanation. I realise why because the call in the handler to the isUnique method requires an Id else it fails. But it would have been nice if this was stated.
Missy
March 30, 2023
Excellent. One of the best things (and, different from other courses I have taken) is that there is incremental source code available at the end of each unit. This is so important. To get the source code at the end just generates a lot of confusion about how the student got there. Also, this course includes testing which I find difficult and not all courses have testing. One item that I have communicated with Trevoir about, is the fact that there are a number of significant differences between VS Windows and VS Mac. A few things don't actually work on Mac. This should be addressed. Possibly, noting some reasons why a developer might choose to work on a Windows computer vs Mac, if they have that option.
Angel
January 30, 2023
I had to quickly get up to speed with clean architecture applied to .net APIs and the first six sections of this course have everything that I needed. They are a very good introduction to MediatR, CQRS, Fluent Validations and clean architecture. It is shown how to build all these features starting from an empty solution. Also appreciate the author's attempt to present the architecture in a feature based development way. Picking that idea, I have tried to refactor the API code (with little additions) into further developed Vertical Slice Architecture. Here is a reference link for those interested: https://github.com/angelkomarov/HR.LeaveManagement.Vert
Rolex
December 9, 2022
He keeps on changing things and keeps on jumping. If you are not keen, you'll gonna miss his updates.

Coupons

DateDiscountStatus
10/30/202193% OFF
expired
11/18/202193% OFF
expired
12/10/202193% OFF
expired
12/24/202193% OFF
expired
1/28/202293% OFF
expired
2/9/202293% OFF
expired
2/23/202293% OFF
expired
3/2/2022100% OFF
expired
3/13/202293% OFF
expired
3/26/202293% OFF
expired
4/19/202293% OFF
expired
4/29/202293% OFF
expired
5/5/202293% OFF
expired
1/29/202385% OFF
expired

Charts

Price

ASP.NET Core - SOLID and Clean Architecture - Price chart

Rating

ASP.NET Core - SOLID and Clean Architecture - Ratings chart

Enrollment distribution

ASP.NET Core - SOLID and Clean Architecture - Distribution chart
4003980
udemy ID
4/24/2021
course created date
8/18/2021
course indexed date
Bot
course submited by