There are a great deal of posts concerning different design patterns for mobile applications which try to persuade you that this or that design pattern is the best one. Safe bet, we all understand that there is no a silver bullet … however. However, it’s a great workout to compare one of the most popular mobile design patterns ( MVC, MVP, MVVM, VIPER, Riblets and Redux and learn:
- what we can pick up from them,
- just how they can aid us to create our application style.
Multitier style
In order to compare the above discussed design patterns we need a standard. I selected the multitier (in fact 5 tier) style as it’s incredibly popular, global and has tiers/layers that are in truth extremely high level abstractions so we can utilize them to understand the abstraction degree of the layers in mobile architecture patters.
There are a lot of info about the multitier style [1], depending upon the kind of system some writers find 3 layer (pure backend– Information, Organization Logic, Discussion), some 4 or 5
Each layer is a high degree abstraction and the style has only one restriction: components in the layer can engage just to the components from the neighbor layers. It permits to lower the combining in between parts of the application and maintain a reliance graph in a convenient state.