What You Will Learn
Our Approaches to Clean Architecture
We will explore Clean Architecture in two approaches.
Looking at an Existing Clean Architecture Reference Application
We will see how the guiding principles are applied in an existing reference application we maintain called eShopOnWeb.
eShopOnWeb is an eCommerce solution with the following components:
- Web – a eCommerce site that sells .NET merchandise
- PublicAPI – that enables people to query the product catalog
- BlazorAdmin – admin portal to manage what appears in the eShop portal
- Class libraries
Using Ardalis' Clean Architecture Template
In a separate section, we will walk through how to use Ardalis’ Clean Architecture template to create a pizza-themed application. While this walk-through may appear elsewhere, in this course, we explain the “why”s and the “how”s.
We are releasing the course in stages. We will update this list as we release sections.
Currently Released Sections
Course Introduction
- Welcome - about the instructor and the course
- Intended Audience
- Prerequisites
- What You Will Learn
What is Clean Architecture?
- What is Clean Architecture?
- Benefits of Clean Architecture
- Drawbacks to Clean Architecture
Guiding Principles
- Introduction to Guiding Principles
- Separation of Concerns
- Single Responsibility Principle
- Dependency Inversion Principle
- Explicit Dependencies Principle
About the Architecture
- Introduction
- Monolithic Architectures vs Clean Architecture
- Layered (N-Tier) Design vs Clean Architecture
- Hexagonal Architecture vs Clean Architecture
- Domain-Centric Design
- Microservices and Clean Architecture
Organizing Apps into Clean Architecture Solutions
- Creating a Clean Architecture App Using Ardalis' Clean Architecture Template
- Getting Started
- The Core Project
- The UseCases Project
- The Infrastructure Project
- The Web Project
Clean Architecture vs Vertical Slices
- Clean Architecture and Vertical Slices
- Code-Along: Clean Architecture to Vertical Slices
Upcoming Sections
Organizing Apps into Clean Architecture Solutions
- Understanding the NimblePizza Domain
- Making Your Own Changes with Ardalis' Clean Architecture Template
Summary
- Tradeoffs
- Other Options