Summary
In this chapter, we explored the presentation layer of an Android application and a few different approaches for implementing this layer, such as MVC, MVP, and MVVM. We decided to focus on the MVVM approach because of the many benefits involving the life cycle and the compatibility with Jetpack Compose. We then looked at what happens when we want to split the presentation layer across multiple modules and how we can solve the common logic between these modules. In the chapter that follows, we will further build upon the MVVM pattern and study the Model-View-Intent (MVI) pattern, which further takes advantage of the Observable pattern to incorporate the user actions into states that can be observed.