View in the MVVM architecture

What is View in the MVVM architecture?

The View component in the MVVM architecture are the UI controllers – Activities and Fragments. They should be as free as possible from any business logic. Their role is to present the data, not to transform it. The view should contain only UI related logic. It is a common misconception to write all the logic for a particular screen in the corresponding Activity or Fragment. By doing so, we create God classes and we break the single responsibility principle. So we should always try to keep our View as clean as possible.
The View asks the ViewModel for data. The View doesn’t care where the data comes from, what kind of transformations are applied to it and so on. It only knows how to properly display the data on the screen. When the data is changed by user interactions with the UI components, the View calls the ViewModel’s methods and passes the changed data to them. Again, it is unaware of how the data is processed.
Share :
Share :

Weitere Beiträge

Room. Reactive queries

Room has great integration with LiveData. Results from SQL queries can be easily wrapped in LiveData container. This way LiveData can be observed in the UI. When the data is changed in the database, all active observers get notified and update the corresponding views.

Weiterlesen »
View Model. Example

In this article we will go through the steps of creating a simple game screen. We will make it the traditional way without using View Model and we will see why it is absolutely wrong to persist data in the View.

Weiterlesen »