CleanArchitecture is a project template for ASP.NET Core designed to establish a standardized foundation for enterprise applications. It enforces architectural boundaries by separating core business logic from infrastructure and external dependencies, ensuring that the domain remains independent of technical concerns.
The project provides scaffolding that supports both multi-project solutions for complex systems and single-project vertical slices for simpler requirements. By organizing code around business entities and aggregates, it facilitates modular development where distinct parts of a system can be built, tested, and maintained independently.
The template incorporates principles such as dependency inversion, interface segregation, and inversion of control to manage object lifecycles and decouple components. This structure promotes a persistence-ignorant domain, allowing business logic to operate on plain objects without direct awareness of database schemas or data access technologies.