What is Clean Architecture?
Clean Architecture is a software design philosophy introduced by Robert C. Martin (Uncle Bob). The main objective is the separation of concerns, allowing developers to build systems that are independent of frameworks, UI, databases, or external services.
"The center of your application is not the database. The center of your application is the use cases." - Robert C. Martin
Key Layers
- Entities: Business rules and core data models.
- Use Cases: Core application business logic.
- Interface Adapters: Controllers, presenters, gateways.
- Frameworks & Drivers: Database engines, Express web framework, etc.