4. Motivation
Huge number of new technologies & tools
[Almost] Daily announcements of new stuff
WPF, WCF, WF, Silverlight, .NET 4.0, LINQ, DLR, TPL
ASP.NET MVC, jQuery, SharePoint, VSTO, Odata, EF
Azure, Surface, XNA, Windows 7, WP7, MEF, F#
8. Demo feedback
Similarities with ASP.NET:
Identical code behind architecture
XAML [is similar to] HTML markup
XAML [looks like] C# object initialization notation
Well known environment
9. Leveraging Lessons Learned
Same architectural patterns apply to this environment as well.
RAD development practices are OK for one-hour projects
For something even slightly complicated we need better
architecture – here comes MVVM…
10. Meet MVVM
Model View ViewModel
Why use it?
What it solves?
Benefits?
View
View Model
Model
11. The Star - ViewModel
View Model
Code
Model
(Domain, SQL, File,
Memory...)
View
(XAML)
User Interface (pages,
controls)
Services
13. What’s in it for me?
Maintainability
Testability
Blendability
Separation of concerns
14. Why is ViewModel pushed
There is a huge shift in paradigm involved:
meet
Developers are not the only ones
responsible for their applications!
15. How is ViewModel supported
Vast amount of available tools & frameworks that
support MVVM:
Prism, MVVM Light, Caliburn, …..
They helps a lot and speedup your development
process and adding benefits at the same time
16. Reverse analogy…
IF Silverlight [has similar architecture to] ASP.NET
AND Silverlight [benefits from] MVVM
THEN ASP.NET [can benefit from ?] MVVM
Result: http://aspnetmvvm.codeplex.com/
19. Q&A Session
• Complete an evaluation
form and enter to win!
– Telerik Ultimate
Collections
– Pluralsight yearly
subscriptions
– JetBrains Tools
– RedGate .NET Profiler
Pro or other tools
– O’Raily books
– Component One Suites
– CodeSmith Tools
– and many more…