First of all MVVM(Model-View-ViewModel) is a great design pattern for Silverlight and Windows Presentation Foundation (which is commonly known as WPF). The MVVM has become a such overrated pattern is because it's powerful features. One of the best features of MVVM is it's close work with XAML based applications such as Silverlight.
To get a best idea about MVVM, I will explain the MVVM Triad (Model,View,View Model).
- View is the user controls designed in XAML. Since I am mainly focuing on Silverlight, in Silverlight View is described in MainPage.xaml.
- The Model is used to access the data from a data source.
- The View Model is used the put all the logic behind the controls and to fill the gap between View and the Model. It actually bind or convert the information of Model to View information.
Using these three parts, MVVM provides powerful XAML binding for it's controls. If you are doing development with Silverlight or WPF I am sure some of you have already gone through the need of this nice pattern and if you have not gone through this pattern yet, very soon you will be going through. You can find more information and tutorials in the web on MVVM.