The document introduces the Model-View-ViewModel (MVVM) pattern. It describes MVVM as replacing the controller with a view model to facilitate data binding between the view and model. The key components in MVVM are the model, which represents the business domain and data access logic; the view, which displays data and collects user input; and the view model, which acts as an intermediary between the view and model by aggregating data and notifying the view of changes. The document provides examples of how MVVM is implemented in Silverlight applications using the MVVM Light Toolkit to define commands and handle events and messaging between the view and view model.