Understanding MVVM

MVVM is a popular pattern in modern software development. Essentially, you can imagine that MVVM can help you separate the business logic and the presentation logic from the UI so that you can make a clean code to maintain and test, like this:

I will not introduce much about MVVM in this article. If you are not familiar with this pattern, here is a good start to help you understand it: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/enterprise-application-patterns/mvvm.