MVVM – Sample applications index

Its been quite a while i took up blogging. I haven’t had many blog posts. So thought of adding one blog post on the hottest topic MVVM.

Lately i have been trying to understand MVVM pattern for WPF development. As any MVVM novice i am also very much confused as to where to start. So i started hunting for sample applications that have been posted for MVVM. Looked at John Gossman, Josh Smith, Karl Shifflet etc. These three being the pioneers of the MVVM, the sample applications they have are the finest and the best examples you can get. But for a beginner you would always look out for a light weight ones.

So i thought let me put all the sample application i found as a link at one place. So here it goes:

Excellent article by the maestro. Explains the concept very clean and crisply. The only problem with this article was that – it had too much knowledge for a first timer starting on MVVM. If you searched on MVVM the top link is Josh Smith article in MSDN. Kudos to Josh for this. So i set myself for searching a more simpler application which a novice can get hands on to.

Karl Shifflet as everybody knows is a maestro in this area. I liked all his postings on MVVM. Some very good examples from Karl – the line of business applications, the password manager are just a few to name. Karl’s demo application will educate you on the architecture front and are an excellent source of knowledge.

A simple and neat example which uses entity framework for data access. But a very good start. Has a simple search button to search employee by last name. When a employee is selected brings orders for that employee. A good start to understand the MVVM pattern.

This is the simplest…… example you can find on internet for MVVM example. All it does is to show names in a editable text box and a label. Changes done in the text box are bound to the label. So gives a overview of the MVVM usage. This gentleman has a lot of code samples on MVVM. The code samples are for variety of topics on MVVM. I likes most of the samples explained on MVVM. So worth a look at this site. 

This is another very good demo application from Jeremy Alles. The demo application lists person names, allows to search and data binds the selected person to a form. Also showcases the navigational aspects of CollectionViewSource object. I though this showed a very good example of some key MVVM concept. What i liked was a small feature that it show cases – when you search for a person name and search results are 0, the search text box changes its color. If you go through the code its just a simple concept of DataTemplate and DataTriggers. I give a thumbs up for this. Note that i am still a novice in this area – so i see as a fascinating piece of code :).

I was planning a sample application of mine. What i wanted to do was some asynchronous data processing. So all the demo applications above talked about either building a customer observable collection or a person collection. But none of them were having a scenario where they showcased the asynchronous data processing.  Brian demo application is a real world application. When i say real world what it means is – his demo app has a search box which searches twitter for the entered text. It then displays the search results in a grid. Brian has showcased how you will go about putting the asynchronous behavior in MVVM model. May be Josh Smith and Karl Shifflet would have this architecture in some of their demo applications. But as a novice i wanted the app to be small enough so that i can digest :). So this served that purpose.

Also there are some good work being done for making  MVVM frameworks. Following link is an outstanding collection of all the available frameworks which support MVVM. This is a silverlight application which lists out all the frameworks and a rating by the author:

Jeremy Alles – Discover and compare existing MVVM frmeworks

I hope those who are starting on MVVM would find this useful. I wanted to give a one stop place for finding simple applications for reference. If some of you have other sample apps which i can put it in this index – let me know, i will add them to the list

Till next time, happy coding – develop with passion.

Technorati Tags:
,
del.icio.us Tags:
,

7 Comments

Comments have been disabled for this content.