MVVM pain points

MVVM was touted as THE PATTERN to go for when Microsoft introduced WPF. It got more attention when Silverlight which was a thin down version of WPF released later.

Now both the technologies are going back to the shelf does the pattern MVVM still sounds good ?. MVVM do provide a strong pattern for Data Binding, Design and Testing it also has bunch of pain points which are hightlighted below :

  • Microsoft hasn’t given clear directions on this pattern yet, and the various non­Microsoft resources available on the topic can send mixed messages, leaving developers and architects confused.
  • Need for boilerplate code, complicated techniques and/or frameworks. Things like property changed notifications and commands require lots of boilerplate code and potentially brittle designs that require using “magic strings”.  Even though there are open source frameworks available one may not want to or may not be allowed to use open source frameworks.
  • Only supported in WPF and Silverlight: This pattern doesn’t transfer well to technologies such as ASP.NET or WinForms easily.



Hands on labs – Windows 8, Silverlight, PRISM, Enterprise library, Data Access Frameworks.

I have compiled here a list of Hands on labs of Windows 8, PRISM, Entity Framework, Enterprise Library.

Windows 8 Applications – CSharp & Javascript –  A series of 8 hands on lab modules that guide one through the development of a Windows 8 Store App.


PRISM 4.1 – Prism provides guidance designed to help you more easily design and build rich, flexible, and easy to maintain Windows Presentation Foundation (WPF) desktop applications and Silverlight Rich Internet Applications (RIAs) and Windows Phone 7.1 (“Mango”) applications

Data Access Frameworks – (EF/ADO.NET)

Microsoft Enterprise library 5.0  – Covers Caching, Configuration Sources, Cryptography, Data Access, Exception Handling, Interception, Logging, Security, Validation, and Unity.