A starting point for Clean Architecture with ASP.NET Core. Clean Architecture is just the latest in a series of names for the same loosely-coupled, dependency-inverted architecture. You will also find it named hexagonal, ports-and-adapters, or onion architecture.
Learn more about Clean Architecture and this template in NimblePros' Introducing Clean Architecture course. Use code ARDALIS to save 20%.
This architecture is used in the DDD Fundamentals course by Steve Smith and Julie Lerman.
🏫 Contact Steve's company, NimblePros, for Clean Architecture or DDD training and/or implementation assistance for your team.
Learn about how to implement Clean Architecture from NimblePros trainers Sarah "sadukie" Dutkiewicz and Steve "ardalis" Smith.
- Clean Architecture
- Getting Started
- Goals
- Design Decisions and Dependencies
- Patterns Used
If you like or are using this project to learn or start your solution, please give it a star. Thanks!
Or if you're feeling really generous, we now support GitHub sponsorships - see the button above.
I'm please to announce that Amazon AWS's FOSS fund has chosen to award a 12-month sponsorship to this project. Thank you, and thanks to all of my other past and current sponsors!
By default the site uses HTTPS and expects you to have a self-signed developer certificate for localhost use. If you get an error with Chrome see this answer for mitigation instructions.
The main branch is now using .NET 9. This corresponds with NuGet package version 10.x. Previous versions are available - see our Releases.
- Live Stream Recordings Working on Clean Architecture
- DotNetRocks Podcast Discussion with Steve "ardalis" Smith
- Fritz and Friends Streaming Discussion with Steve "ardalis" Smith
The official documentation for this template, including Getting Started steps, Migration Guides, and Architectural Decisions, can be found at Ardalis Clean Architecture Docs.
If you are upgrading from an older version, please be sure to review our Migration Guides on the new documentation site!