Benefits and drawbacks of MVVM

As with any other design pattern, the MVVM pattern has benefits and drawbacks. If we compare it to the MVC pattern, we can clearly see that it dumbed down the view layer, making it merely respond to events from the viewModel. This is very important, as it allows us to do the following:

In the MVC pattern, testing controllers are harder, as the controller holds the logic, as well as references to the model and views. Even if the ViewModel makes you feel like it belongs to the view, it really belongs more to the model in the same way, theĀ ViewController should be thought of as belonging to the view layer.