The document discusses the Model-View-ViewModel (MVVM) pattern in WPF and Silverlight applications. It introduces MVVM and its roles for the View, ViewModel and Model. The MVVM pattern provides structure, independence, loose coupling and enables unit testing. While it adds some overhead, MVVM supports team and designer collaboration. In summary, the document outlines the MVVM pattern, its roles and pros like testability versus the potential cons like added overhead.