A Journey Through MV Wonderland
summary
After four redesigns in six months a single thousands of lines fragment is refactored away and architecture shifts from MVC to MVP and finally to MVVM that uses RxJava observables to expose streams rather than direct view calls. Tests mock the model and verify emitted view state, presenters or view models hold UI logic, onResume/onPause subscribe and unsubscribe, state persists via Parcelable/Bundle, dependency injection and AutoParcel simplify wiring, and the new structure survives another redesign.
AI-written summary · about
chapters (19)
- 0:00Introduction to architecture struggle
- 1:18Three MV patterns overview
- 3:02Model View Controller explained
- 5:10Controller testability issues
- 6:58Mistakes in MVC implementation
- 7:40Model View Presenter pattern
- 10:37Event-based MVP to MVVM
- 11:41Model View ViewModel explained
- 13:27Differences MVP vs MVVM
- 14:09Views in MVP and MVVM
- 15:11Dependency injection benefits
- 15:32Splitting complex views
- 16:15Logic placement in patterns
- 16:58Handling view dependencies
- 18:23Android lifecycle roles
- 20:32MVVM solution benefits
- 20:52Choosing the right pattern
- 21:57Key questions for good code
- 22:20Q&A session
related talks
36mMVWTF: Demystifying Architecture Patterns
43mMVC vs MVP vs MVVM vs MVI
17mApp architecture - singular vs plural
32mEffective Android Architecture
07mArchitecture: where Science and Art break even
18mArchitecture is vital to build an app. But what is that concretely?
41mMVI: a Robust and Modern Architecture
31mArchitecture metamorphosis: a real case study
