Android-apps profiteren van architectuurpatronen die scheiding van belangen (separation of concerns) bevorderen en onderhoudbaarheid en testbaarheid verbeteren — met name MVVM (Model-View-ViewModel, Google's aanbeveling), MVI (Model-View-Intent) en Clean Architecture. Het begrijpen hiervan is belangrijk voor het bouwen van goed gestructureerde apps.
MVVM — Model-View-ViewModel (aanbevolen)
MVVM separates the UI from logic and data:
VIEW (Activity/Fragment/Compose) → displays UI, observes the ViewModel, forwards events
VIEWMODEL → holds UI state + logic; exposes observable state (LiveData/StateFlow);
survives config changes; NO Android framework/UI dependencies (testable)
MODEL → data (repositories, data sources)
→ The View observes the ViewModel's state and updates reactively. Google's recommended
pattern (using Architecture Components).
