Understanding the Model-View-ViewModel Pattern
The Model-View-ViewModel pattern (also called MVVM) is a hot topic in today's Silverlight and WPF world. This pattern facilitates modern development techniques such as separation of concerns (decoupling), unit testing and test driven development, work with modern tools such as Microsoft Visual Studio 2010, Microsoft Expression Blend and more. In this session, Laurent (a user and promoter of MVVM since 2006) introduces this pattern to you with many demos. We talk about the basic components of a modern Microsoft Silverlight or Windows Presentation Foundation (WPF) application, and of additional helpers that will make your life as a developer much easier.
- Tags: MVVM, Open Call, Silverlight

23 Comments
Laurent Bugnion said
Feb 1 2010
Note that this session will try to be agnostic and show code and techniques that work in Silverlight and also in WPF.
bchase said
Mar 2 2010
MVVM is a great pattern for Silverlight when unit testing and test-driven development is taken into account. My question: do you know of or have you built any tests that display the cost of the overhead when calls/properties/data move through the layers of MVVM. In some simple tests I found enough milliseconds delay that it disrupted the user experience. We want the ViewModel layer for obvious engineering/design reasons. But what are the costs when View moves information to VM and back to another View over and over again? When does "perfect" get in the way of "good"? The forums show instances again and again of architects expecting "perfect" MVVM that may end up destroying "good" design. I hope, with you vast experience, you can talk to these issues.
bill said
Mar 17 2010
Any chance we can get the source code for this demo?
Abdul said
Mar 17 2010
Very nice presentation. Thanks for sharing.
Abx78 said
Mar 17 2010
@Bill
You can find everything at Laurent's blog
http://blog.galasoft.ch/archive/2010/03/16/sample-code-for-my-mix10-talk-online.aspx
said
Mar 18 2010
Thanks Abx78 for commenting, yes the sample code is available on my blog. Hope it helps!
Abx78 said
Mar 19 2010
Never mind! Thank you for your great explaination
Eoin said
Mar 20 2010
Excellent session - thanks a million :)
bill said
Mar 24 2010
Thanks Abx78 for the source code link!
said
Mar 24 2010
Great presentation! I'm really sad that I missed it in person.
said
Mar 24 2010
Great presentation! I'm really sad that I missed it in person.
Jay said
Mar 25 2010
Nice presentation!
Calabonga said
Apr 6 2010
Thanks! That's realy great presentation! But I can't found a source code of propject. Where can I found it?
Laurent Bugnion said
Apr 12 2010
The source code for this session is available on my blog:
http://blog.galasoft.ch/archive/2010/03/16/sample-code-for-my-mix10-talk-online.aspx
Cheers,
Laurent
pratz17 said
Apr 14 2010
Hi Laurent,
Let me start by congratulating you on this amazing presentation. Although I am new to MVVM, I could identify where the pattern can be used and its advantages. I have downloaded the toolkit and currently playing with it. One immediate thought that came to mind is the lack of support and standardization from Microsoft regarding MVVM. Having said that, are you planning to release the source code for some of the dlls that are part of the toolkit? I understand you are maintaining it, but what would happen if you (& Josh Smith) were to get kidnapped by aliens in need of your programming skills?
Thanks!
şarkı sözü said
Apr 16 2010
thanks matt nice work dude
Archil Varshanidze said
May 25 2010
Great, Great Video! Thanks you very much. Watching this just makes me start using mvvm pattern
Javier Lugmania said
Jun 3 2010
Excelente video me ha aclarado muchas dudas......
Gracias!!!!!
Adam Hughes said
Jun 24 2010
Really is the best presentation that I have seen on MVVM .. with the added bonus of your 'Oh so useful' library .. I will be looking out for your other presentations .. and am downloading your libraries at this very moment .. and making a 'donation' .. enjoy the beer....
Martin Dodd said
Jun 24 2010
This presentation gave a great overview and a good look at the pattern. I was impressed how you could integrate MVVM with Expression Blends, I now look forward in earnest to playing with MVVM Lite Toolkit, and the new WP7 apps.
Beryl Wilson said
Jul 5 2010
Nice demo!!!
Stephen Patten said
Jul 15 2010
Thank you.
said
Jul 17 2010
[[url=http://www.fivefingerssupply.com/][b]vibram five[/b][/url]
[url=http://www.fivefingerssupply.com/][b]vibram five fingers[/b][/url]
[url=http://www.fivefingerssupply.com/][b]vibram shoes[/b][/url]
[url=http://www.fivefingerssupply.com/][b]fivefingers[/b][/url]
[url=http://www.fivefingerssupply.com/][b]vibram fivefingers[/b][/url]
[url=http://www.fivefingerssupply.com/][b]five fingers shoes[/b][/url]
[url=http://www.fivefingerssupply.com/][b]fivefingers vibram[/b][/url]
[url=http://www.fivefingerssupply.com/][b]five fingers vibram[/b][/url]
[url=http://www.fivefingerssupply.com/][b]five fingers vibram sale[/b][/url]
[url=http://www.fivefingerssupply.com/][b]five fingers vibram uk[/b][/url]
[url=http://www.fivefingerssupply.com/][b]five fingers[/b][/url]
[url=http://www.fivefingerssupply.com/][b]vibram five fingers sale[/b][/url]
[url=http://www.fivefingerssupply.com/][b]vibram bikila[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-classic-c-2.html][b]Vibram five fingers Classic[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-classic-c-2.html][b]Vibram five fingers Classic Sale[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-sprint-c-3.html][b]vibram five fingers sprint[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-sprint-c-3.html][b]vibram five fingers sprint women[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-sprint-c-3.html][b]vibram five fingers sprint mens[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-sprint-c-3.html][b]vibram five fingers sprint sale[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-kso-c-1.html][b]vibram kso[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-kso-c-1.html][b]five fingers kso[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-kso-c-1.html][b]vibram five fingers kso[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-kso-c-1.html][b]vibram five fingers kso sale[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-kso-c-1.html][b]vibram five fingers kso women's[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-kso-c-1.html][b]vibram five fingers kso mens[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-kso-c-1.html][b]vibram five fingers kso black[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-kso-trek-c-4.html][b]vibram five fingers kso trek sale[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-kso-trek-c-4.html][b]vibram five fingers kso trek[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-kso-trek-c-4.html][b]vibram kso trek[/b][/url]
[url=http://www.fivefingerssupply.com/vibram-five-fingers-kso-trek-c-4.html][b]vibram trek[/b][/url]
[url=http://www.vibramfivefingerssupply.com/][b]vibram[/b][/url]
[url=http://www.vibramfivefingerssupply.com/][b]vibram fingers[/b][/url]
[url=http://www.vibramfivefingerssupply.com/][b]vibram five[/b][/url]
[url=http://www.vibramfivefingerssupply.com/][b]vibram five fingers[/b][/url]
[url=http://www.vibramfivefingerssupply.com/][b]vibram shoes[/b][/url]
[url=http://www.vibramfivefingerssupply.com/][b]fivefingers[/b][/url]
[url=http://www.vibramfivefingerssupply.com/][b]fivefingers vibram[/b][/url]
[url=http://www.vibramfivefingerssupply.com/][b]five fingers vibram[/b][/url]
[url=http://www.vibramfivefingerssupply.com/][b]five fingers vibram sale[/b][/url]
[url=http://www.vibramfivefingerssupply.com/][b]five fingers vibram uk[/b][/url]
[url=http://www.vibramfivefingerssupply.com/][b]five fingers[/b][/url]
[url=http://www.vibramfivefingerssupply.com/][b]vibram five fingers sale[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-classic-c-2.html][b]Vibram five fingers Classic[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-sprint-c-3.html][b]vibram five fingers sprint[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-sprint-c-3.html][b]vibram five fingers sprint women[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-sprint-c-3.html][b]vibram five fingers sprint mens[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-sprint-c-3.html][b]vibram five fingers sprint sale[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-kso-c-1.html][b]vibram five fingers kso[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-kso-c-1.html][b]vibram five fingers kso sale[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-kso-c-1.html][b]vibram five fingers kso women's[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-kso-c-1.html][b]vibram five fingers kso mens[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-kso-c-1.html][b]vibram five fingers kso black[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-kso-c-1.html][b]vibram five fingers kso trek sale[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-kso-c-1.html][b]vibram kso[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-kso-trek-c-4.html][b]vibram five fingers kso trek[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-kso-trek-c-4.html][b]vibram kso trek[/b][/url]
[url=http://www.vibramfivefingerssupply.com/vibram-five-fingers-kso-trek-c-4.html][b]vibram trek[/b][/url]