ASP.NET Core - SOLID and Clean Architecture (.NET 5 and Up)

Video description

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.

In this course, we will explore foundational architectural principles that help with the creation of maintainable code. Next, discover how to set up a real-world application architecture with ASP.NET Core. Then, you will 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.

By the end of this course, you will have the skills and knowledge of creating a testable and maintainable ASP.NET Core application needed to architect real-world enterprise .NET Core apps.

What You Will Learn

  • Learn clean architecture and implement SOLID principles
  • Build a .NET Core API and Blazor UI Application
  • Learn about custom exceptions and global error handling
  • Implement JWT authentication to build API client secure application
  • Use Swagger for API documentation and add Email Service using SendGrid
  • Implement CQRS pattern and Mediator pattern

Audience

If you are a software developer or engineer looking to enhance your skills in .NET Core development and eager to take your .NET Core development skills to the next level, then this course is for you!

This course is ideal for developers who have a solid understanding of C# and have been working with it for at least three months. If you have experience using Visual Studio 2022, .NET 7, and have a basic understanding of .NET Core development, you will have a head start on this course.

About The Author

Trevoir Williams: Trevoir Williams is a software engineer and part-time lecturer. With a master’s degree in computer science, he has spent over a decade teaching web, software, and database development courses. He also has extensive industry experience in web application development, Azure Cloud system, and server administration.

He enjoys teaching IT and development courses and hopes to impart knowledge of the latest developments in industry standards and techniques to his students.

Table of contents

  1. Chapter 1 : Course Introduction
    1. Introduction
  2. Chapter 2 : Preliminary Concepts
    1. Review of S.O.L.I.D. Principles
    2. Single Responsibility Principle
    3. DRY Principle
    4. Dependency Inversion
    5. Understanding Clean Architecture
    6. What We Will Be Building
  3. Chapter 3 : Setting Clean Architecture Solution
    1. Development Environment
    2. Get Latest Visual Studio
    3. Setting Up Solution
    4. Overview of Solution Parts
  4. Chapter 4 : Setting Up the Application Core
    1. Section Overview
    2. Create the Domain Project
    3. Create Application Core Project
    4. Understanding CQRS, Mediator, and AutoMapper
    5. Add AutoMapper and MediatR
    6. Set Up Features Folder Structure (Vertical Slice Architecture)
    7. Creating CQRS Query Request and Handler - Part 1
    8. Creating CQRS Query Request and Handler - Part 2
    9. Creating CQRS Command Request and Handler - Part 1
    10. Creating CQRS Command Request and Handler - Part 2
    11. Adding Custom Exceptions
    12. Adding FluentValidation
    13. Section Review
  5. Chapter 5 : Setting Up Infrastructure Projects
    1. Section Overview
    2. Create the Persistence Project
    3. Add Entity Framework and Database Context
    4. Add Repository Implementations
    5. EF Core - No Tracking
    6. Completing Repositories
    7. Create Infrastructure Project
    8. Add Third-Party Email Service
    9. Add Third-Party Logging (SeriLog)
    10. Section Review
  6. Chapter 6 : Creating the API Project
    1. Section Overview
    2. Create the API Project
    3. Scaffolding Database
    4. Implementing Controller with MediatR - Part 1
    5. Implementing Controller with MediatR - Part 2
    6. Complete Leave Allocation Feature
    7. Complete Leave Request Feature
    8. Global Error Handling
    9. Section Review
  7. Chapter 7 : Testing
    1. Section Overview
    2. Creating Application Unit Project
    3. Unit Testing the Application Code – Set Up Mocks
    4. Unit Testing the Application Code - Testing Handlers
    5. Integration Testing - Entity Framework
    6. Section Review
  8. Chapter 8 : Adding the UI
    1. Section Overview
    2. Creating UI Project - Blazor WebAssembly
    3. Using NSwag and NSwagStudio to Consume API
    4. Configure App for API
    5. Set Up Leave Type Management Service
    6. Set Up Leave Type Management UI
  9. Chapter 9 : Securing API and UI
    1. Add Security Using Identity
    2. Add JSON Web Token (JWT) Authentication to API
    3. Add Authentication Services to Blazor
    4. Add UI Changes for Security
    5. Section Review
  10. Chapter 10 : Complete Application Features
    1. Set Up Leave Allocation Management
    2. Set Up Leave Request Management - Part 1 - Employee Request
    3. Set Up Leave Request Management - Part 2 - Admin View
    4. Set Up Leave Request Management - Part 3 - Approval
    5. Set Up Leave Request Management - Part 4 - Cancel Request
    6. Section Review
  11. Chapter 11 : Value-Added Features
    1. Improve Logging
    2. Improve Data Auditing
    3. Add Notifications
  12. Chapter 12 : Summary and Closing
    1. Conclusion

Product information

  • Title: ASP.NET Core - SOLID and Clean Architecture (.NET 5 and Up)
  • Author(s): Trevoir Williams
  • Release date: February 2023
  • Publisher(s): Packt Publishing
  • ISBN: 9781803231228