An overview of the MVVM design pattern in Swift
https://medium.freecodecamp.org/an-overview-of-the-mvvm-design-pattern-in-swift-fb815ea5da40
This article assumes you are comfortable with the MVC pattern, which is the baseline design pattern adopted and recommended by Apple.
MVVM is a structural design pattern. Imagine that you have two views with a different layout that need to be populated with data from the same model class. MVVM allows you to use data from a single model class and represent it in different ways to populate a view.