Clean Architecture gồm 3 layer: Presentation (UI, ViewModel), Domain (business logic, use case), và Data (database, API, repository).
- Mỗi layer độc lập và có thể test riêng.
- Domain layer là Kotlin thuần không phụ thuộc Android, test được trên JVM.
- Data layer cung cấp repository mà domain layer sử dụng.
- Cấu trúc này ngăn tight coupling và cải thiện tổ chức code.