by Kevin Grossnicklaus
As developers working with either the Silverlight or Windows Presentation Foundation (WPF) platforms, it is a safe bet that you have already heard about the Model-View-ViewModel (MVVM) pattern for developing user interfaces (UIs). Numerous books, magazine articles, and blogs enthusiastically explain the benefits of MVVM and demonstrate the advantages of leveraging this new development pattern. The unfortunate reality when working with MVVM is that, although the primary concepts of the pattern provide definite benefits to developers, there is no universally accepted implementation.
Because the core libraries for Silverlight and WPF development do not ship with any reusable MVVM-specific constructs for developers to utilize when developing an MVVM-based architecture, it is up to individual developers to “roll their own” framework components, or adopt one of the numerous third-party frameworks that have sprung up to fill this void. Much of the MVVM knowledge out there (whether in print or on the Internet) originates from bright developers who realize innovative and effective ways to utilize new technologies such as Silverlight and XAML to streamline how patterns such as MVVM are implemented.
Although this innovation is one of the great things about our industry, developers new to MVVM who look for guidance on “best practices” are often overwhelmed with all the differing MVVM solutions and architectures being promoted. Many of ...