Educational Project to demonstrate Clean Architecture in .NET Core.
Full Course:
ASP.NET Core - SOLID and Clean Architecture (.NET 5 and Up)
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 really possible and so the application needs to be redesigned and future proofed.
Why SOLID Architecture?
When we talk about SOLID architecture, we are referring 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 facilitate 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
First, you’ll explore foundational architectural principles which help with the creation of maintainable code. Next, you’ll discover how to set up a real-world application architecture with ASP.NET Core. Finally, you’ll learn how to plug in different, common blocks such as logging and authentication. When you’re finished with this course, you’ll have the skills and knowledge of creating a testable and maintainable ASP.NET Core application needed to architect real-world, enterprise .NET Core apps.
Build A Strong Foundation in .NET 5 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 MVC UI Application
Implement JWT(JSON Web Token) Authentication
Use GitHub For Source Control