Will vNext of Prism make its use of MVVM more explicit?

Topics: Prism v2 - Silverlight 3, Prism v2 - WPF 3.5
Dec 15, 2009 at 8:26 PM
Edited Dec 19, 2009 at 4:34 AM

Currently the Prism documentation does mention MVVM and "Model-View-ViewModel" in several places, but my suggestion is that be made more prominent in the next version.  The "Stock Trader" ("RI" = reference implementation) does make use of the "Presentation Model" pattern, which is basically equivalent to MVVM, but I'd be happier if that was made clearer.  The SL and WPF blogs are full of discussion of MVVM and "Model-View-ViewModel", and that's the naming that new learners (like me) are probably going to be looking for.

One of the things I like about David Hill's excellent Prism VS project templates, which I have used for a while, is that the class and directory names are all explicitly MVVM-oriented.  There are directories named Models, Views and ViewModels.  See:

Alan Cobb

Dec 16, 2009 at 1:05 PM

Hi Alan,

The Prism-v2 RI is using the Presentation Model pattern, which is the same pattern as MVVM, the only difference is it's name. It is not using the classic MVP pattern. Prism-v1 was released before the "MVVM" was widely used, but the pattern is the same.

The Prism team is currently taking feedback for the next version of Prism, as David Hill says in this post, and one of the topics they’re looking at is providing more guidance on the ViewModel pattern (at the end of the post). You can provide this as feedback in the Issue Tracker, so other people can vote for it.

I would like to clarify that in my blog post, by saying “the ViewModel is a bindable Presenter”, I am not trying to express that MVP and MVVM are the same. I meant that, as you said, in the high level (testability, separations of concerns) are very similar in what they are trying to achieve.

In this PDC talk, John Papa talks about building MVVM applications with Prism so you might find it useful.

Please let me know if this helps.

Damian Schenkelman

Dec 19, 2009 at 4:52 AM
Edited Dec 19, 2009 at 5:10 AM

Hi Damian,

Thanks for your explanation.

Based on your response I editing my original post and title to remove the inaccuracies (editing is nice to have :), and to focus it more. 

My main point is that SL-devs like me who are learning MVVM, may be frustrated to find how little there is in the current Prism docs and code that uses that explicit MVVM naming.  External Prism+MVVM resources like John Papa's PDC talk, and David Hill's MVVM-oriented templates are great, but I think that should get baked more directly into the Prism docs and demos.

As you suggest in your post, I have added this suggestion to the "votable" Issue Tracker list.

Thanks again for your help,
Alan Cobb