MVC, MVP, MVVM and Redux

Problem

  • View controller is getting bigger and bigger
  • View controller keeps data (or cached data)
  • View controller is NOT testable
  • View controllers tend to have complicated interaction
  • Model is dumb data structure

MVC came to help

MVC evolved into MVP and MVVM

The point of MVP is to extract UI independent logic out of UI controller, while MVVM’s effect is to decouple the dependency between view and view model, view and model

MVVM + Redux, Best Practice?

Reference

GUI Architectures
MVC|MVP|MVVM