I'm looking at architectures MVP, MVVM, MVC ... applied to Android applications and I find the current state of things a bit of a mess.
Everybody has their own preferred architecture, finds another one and claims it's better and refers to Uncle Bob. It's funny at some extent because it's like having churches.
Q: Are you a worshiper of The Church of MVP?
A: Why, yes! Yes I am!
Most examples out there are hello world apps. This is not a bad thing in itself, but it bypasses one of the main points of having the architecture in the first place: testing. Since all articles I've read have as main benefit improving testing abilities, why would you then have an example with only the ApplicationTest file created by default in Android Studio?
In subsequent articles I'll try to outline different architectures, as I start experimenting with them.
Some resources
- MVP: Antonio Leiva, Konstantin Mikheev, Fernando Cejas (part of the clean architecture), the Android MVP G+ Community
- Clean architecture: Uncle Bob, Fernando Cejas
- MVVM: VG Tech, VS Magazine (2013), Radek Piekarz, Frode Nielsen
- MVC: Artem Zin (not advocating it) - In fairness, I think everyone agrees MVC was designed for classical applications.
Member discussion: