/Architectures

Repository presenting evolution of architectures

Primary LanguageJava

Architectures

Repository presents different architectural approaches for building Android app. It shows how architecture evolves by introducing consecutive concepts that improve its structure. It starts with a basic View Model architecture and ends up with a variant of MVI based on Google's Architectural Components.

Path of evolution:

  • View Model
  • Model View Controller
  • Model View Presenter
  • Model View ViewModel
  • Segue (introduction of clean interfaces for each layer of MVVM)
  • React (handling async operations inside Model using reactive and functional programming paradigms)
  • Model View Intent
  • Components (MVI implemented using Google's ViewModel and LiveData, introduction of DI and aspect-oriented programming)

For more details see the following presentation Evolution of Software Architectures.