-
Notifications
You must be signed in to change notification settings - Fork 9
Alternative Resources
Ryan Bush edited this page Jul 26, 2017
·
5 revisions
VIPER isn't an industry standard. Just as there is no one way to implement MVC or MVVM, there are many different flavors of VIPER. The templates version has very verbose names to reduce the vocabulary and make it as easy as possible to get into VIPER. However, seeing others implementations is very useful.
Differences:
- Uses original vocabulary. Makes it very difficult to start with VIPER as you have to now all the vocabulary to get a decent understand of what is happening. For example: their
View.eventHandler
= ourView.presenter
- Brigade has an additional
DataManager
layer. In practice this ends up turning the Interactor into a pass through layer. In our version, the Interactor interacts withServices
directly.
Differences:
- Uses original vocabulary. Makes it very difficult to start with VIPER as you have to now all the vocabulary to get a decent understand of what is happening. For example: their
View.eventHandler
= ourView.presenter
- Examples are Objective-C. This ends up with them using PONSOs instead of base objects, but their intent is the same: Have very simple data structures to represent Entities
This post is more of an exploration of many different architectures. It has decent break downs of each with explanations. Very useful to get some exposure to lots of different architectures.
A good post that discusses some real concerns with VIPER and over architecting in general. I have listed it here mostly to really emphasize that VIPER isn't perfect.