A Clean Architecture solution template for ASP.NET Core 10, providing a structured, loosely-coupled foundation for building maintainable applications.
Clean Architecture is a solution template for ASP.NET Core that provides a structured foundation for building maintainable, loosely-coupled applications. It implements Clean Architecture principles (also known as hexagonal, ports-and-adapters, or onion architecture) to separate business logic from infrastructure concerns, making applications easier to test and evolve over time.
Developers and teams building enterprise applications with ASP.NET Core who need a maintainable, testable architecture that can scale with complexity. It's particularly valuable for projects following Domain-Driven Design or requiring strict separation of concerns.
Developers choose this template because it provides a battle-tested starting point with clear architectural boundaries, reducing the upfront design work needed to implement Clean Architecture correctly. It includes essential patterns like CQRS, domain events, and specifications out of the box, with flexible template options for different project sizes.
Clean Architecture Solution Template: A proven Clean Architecture Template for ASP.NET Core 10
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enforces separation of concerns into Core, UseCases, Infrastructure, and Web projects, making the codebase highly maintainable and testable as described in the layered organization.
Includes entities, aggregates, value objects, domain events, and specifications out of the box, providing a solid foundation for modeling complex business domains.
Offers both full multi-project and minimal single-project templates, allowing teams to choose based on application scale, from enterprise apps to MVPs, as detailed in the template comparison.
Uses FastEndpoints with the REPR pattern for organized API endpoints, with built-in validation support, promoting clean and scalable web API design.
Defaults to FastEndpoints for APIs; adding Controllers or Razor Pages requires manual configuration and extra dependencies, as admitted in the 'What about Controllers and Razor Pages?' section.
Running Entity Framework migrations involves verbose CLI commands with multiple project references, which can be error-prone and cumbersome for newcomers, as shown in the 'Running Migrations' guide.
The full template's extensive use of DDD patterns and multiple layers has a steeper learning curve, making it less suitable for teams seeking simplicity or rapid onboarding.