Clean architecture tách code thành các layer: Presentation (UI, widget), Domain (logic nghiệp vụ, entity, use case), Data (repository, data source).
- Mỗi layer độc lập và có thể test.
- Sự tách biệt này cho phép thay đổi UI framework, hoán đổi data source, và test logic nghiệp vụ mà không động vào UI.
- App lớn không có clean architecture sẽ trở thành spaghetti code khó bảo trì khi phát triển.