Clean Architecture
ApplicationSeparation of concerns with dependencies pointing to the center
Principles
Dependency inversionEntities at the centerUse cases independent of UIFrameworks at the periphery
When to use
Enterprise apps, complex business logic, long-term maintainability
When not to use
MVPs, simple CRUD, prototypes
Pros and Cons
Ventajas
- + Excellent testability
- + Framework independence
- + Pure business logic
- + Easy to change details
Desventajas
- - Lots of boilerplate
- - Mapping between layers
- - Overkill for simple apps