Why do we need Clean Architecture?
summary
Argues that applying Clean Architecture to Android (Jetpack ViewModel, Kotlin coroutines, Room, Retrofit/Volley, Dagger) isolates business rules so the domain layer stays independent, uses small use-case classes and per-layer repositories with explicit mappers to avoid god models, and splits work into feature modules so changes (UI, network library, DB) swap without widespread regression; tradeoff is more boilerplate and slightly longer setup but far easier unit testing and incremental swaps when APIs or OS features change.
AI-written summary · about
chapters (19)
- 0:00Introduction
- 0:25Why architecture matters
- 5:22MVX limitations
- 6:02Clean Architecture basics
- 7:24Dependency rule explained
- 9:10Domain layer independence
- 11:19Model separation problem
- 13:44Separate data models
- 16:33Mappers implementation
- 17:37View and ViewModel
- 19:03Use cases purpose
- 20:05Entities and abstractions
- 20:26Repository implementation
- 21:29Layer organization
- 22:10Feature modules
- 23:13Data flow walkthrough
- 23:56Benefits of clean architecture
- 26:51Pros and cons
- 28:16Resources and Q&A
related talks
32mEffective Android Architecture
18mArchitecture is vital to build an app. But what is that concretely?
31mArchitecture of an Android App
36mModern Architecture of Android Apps — Archetype
41mOne year of Clean Architecture: the Good, the Bad and the Bob
53mClean Architecture and How It Helps Build Microservices and Microfrontends
36mWhat I learned improving complex code in my first year as an engineer
40mExplaining the App Architecture Guide
