Summary
The MVVM pattern is a powerful solution for managing Silverlight line-of-business applications. It is possible to write your own lightweight MVVM framework in just a few minutes by providing a simple base class that implements the INotifyPropertyChanged interface. There are also dozens of open source MVVM frameworks available to help you get up and running immediately. Many of the frameworks address additional concerns such as dynamic integration of modules, implementation of commands, and a facility for sending messages between portions of the application.
What is important to remember is that the fundamental features that make MVVM different from other patterns are the explicit reliance on data binding and the importance of property change notifications. MVVM is not a strict set of rules and, contrary to popular belief, does not dictate that you may never have code in the code-behind files in your Silverlight application. Instead, it is a way of providing a clean separation of concerns.