C# Interview Question #158

What is Clean Architecture?

Design Patterns & Production Architecture Senior Advanced

Quick Interview Answer

Clean Architecture organizes software so core business rules do not depend directly on frameworks, databases, UI technology, or external infrastructure.

Detailed Explanation

Clean Architecture organizes software so core business rules do not depend directly on frameworks, databases, UI technology, or external infrastructure.

A common structure includes Domain, Application, Infrastructure, and Presentation layers or projects. Dependencies generally point inward toward business rules and abstractions.

For an ASP.NET Core application, controllers belong near the presentation boundary, use cases or application services coordinate business operations, domain types represent core rules, and infrastructure implements persistence or external integrations.

The goal is maintainability and clear dependency boundaries, not maximizing the number of projects or layers.