SlideShare a Scribd company logo
1 of 20
Understanding MVVM Design Pattern
Silverlight adventures of asp.net developer
Ljubomir Zivanovic
senior software developer, netcetera
Background
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#
Motivation
impressions
WP7 & Silverlight = dream team!
MVVM
Silverlight
WP7
HTML5
Situation
Q: How to jump to SL/WP7 Bandwagon in a most
efficient way?
A: Hands on - Download WP7 SDK and start playing
Getting started
My First WP7 Silverlight project
DEMO
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
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…
Meet MVVM
Model View ViewModel
Why use it?
What it solves?
Benefits?
View
View Model
Model
The Star - ViewModel
View Model
Code
Model
(Domain, SQL, File,
Memory...)
View
(XAML)
User Interface (pages,
controls)
Services
Getting started with MVVM
My Second WP7 Silverlight project
DEMO
What’s in it for me?
Maintainability
Testability
Blendability
Separation of concerns
Why is ViewModel pushed
There is a huge shift in paradigm involved:
meet
Developers are not the only ones
responsible for their applications!
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
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/
MVVM on other platforms
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…
06th November, FON University

More Related Content

Viewers also liked

Blocktronics Text Mode Design
Blocktronics Text Mode DesignBlocktronics Text Mode Design
Blocktronics Text Mode DesignBlocktronics
 
без имени 1
без имени 1без имени 1
без имени 1maryna17
 
Collin O’Neil MedicReS World Congress 2014
Collin O’Neil MedicReS World Congress 2014Collin O’Neil MedicReS World Congress 2014
Collin O’Neil MedicReS World Congress 2014MedicReS
 
2.escenario natural
2.escenario natural2.escenario natural
2.escenario naturalJoosee Mh
 
Elsevier - MedicReS World Congress 2011
Elsevier - MedicReS World Congress 2011Elsevier - MedicReS World Congress 2011
Elsevier - MedicReS World Congress 2011MedicReS
 
Drug a boon or a curse
Drug   a boon or a curseDrug   a boon or a curse
Drug a boon or a cursePooja Sharma
 

Viewers also liked (11)

Epistemologia
EpistemologiaEpistemologia
Epistemologia
 
Blocktronics Text Mode Design
Blocktronics Text Mode DesignBlocktronics Text Mode Design
Blocktronics Text Mode Design
 
Domestic volence
Domestic volenceDomestic volence
Domestic volence
 
без имени 1
без имени 1без имени 1
без имени 1
 
Collin O’Neil MedicReS World Congress 2014
Collin O’Neil MedicReS World Congress 2014Collin O’Neil MedicReS World Congress 2014
Collin O’Neil MedicReS World Congress 2014
 
2.escenario natural
2.escenario natural2.escenario natural
2.escenario natural
 
Elsevier - MedicReS World Congress 2011
Elsevier - MedicReS World Congress 2011Elsevier - MedicReS World Congress 2011
Elsevier - MedicReS World Congress 2011
 
Presentation2
Presentation2Presentation2
Presentation2
 
Drug a boon or a curse
Drug   a boon or a curseDrug   a boon or a curse
Drug a boon or a curse
 
Filosofia da Mente
Filosofia da MenteFilosofia da Mente
Filosofia da Mente
 
Women in politics
Women in politicsWomen in politics
Women in politics
 

Similar to MVVM TITLE

NET Event - Migrating WinForm
NET Event - Migrating WinFormNET Event - Migrating WinForm
NET Event - Migrating WinFormRaffaele Garofalo
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKDavid Wesst
 
Javascript from beginning to modern
Javascript from beginning to modernJavascript from beginning to modern
Javascript from beginning to modernPrem Narain
 
ASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big DealASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big DealJim Duffy
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Noam Kfir
 
Murach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMurach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMahmoudOHassouna
 
Cloud computing & .NET 4.0 overview
Cloud computing & .NET 4.0 overviewCloud computing & .NET 4.0 overview
Cloud computing & .NET 4.0 overviewDhirendra Singh
 
Building web applications using kendo ui and the mvvm pattern
Building web applications using kendo ui and the mvvm patternBuilding web applications using kendo ui and the mvvm pattern
Building web applications using kendo ui and the mvvm patternAspenware
 
Clifford nelson resume_16-06
Clifford nelson resume_16-06Clifford nelson resume_16-06
Clifford nelson resume_16-06Clifford Nelson
 
STLDODN - Get Rid of CRUD faster!
STLDODN - Get Rid of CRUD faster!STLDODN - Get Rid of CRUD faster!
STLDODN - Get Rid of CRUD faster!kshaffar
 
Improve your Web Development using Visual Studio 2010
Improve your Web Development using Visual Studio 2010Improve your Web Development using Visual Studio 2010
Improve your Web Development using Visual Studio 2010Suthep Sangvirotjanaphat
 
Asp.net Overview and Controllers
Asp.net Overview and ControllersAsp.net Overview and Controllers
Asp.net Overview and ControllersMustafa Saeed
 
From Windows Presentation Foundation To Silverlight
From Windows Presentation Foundation To SilverlightFrom Windows Presentation Foundation To Silverlight
From Windows Presentation Foundation To SilverlightShahzad
 

Similar to MVVM TITLE (20)

Intro to silverlight_20110602
Intro to silverlight_20110602Intro to silverlight_20110602
Intro to silverlight_20110602
 
DotVVM Fundamentals
DotVVM FundamentalsDotVVM Fundamentals
DotVVM Fundamentals
 
NET Event - Migrating WinForm
NET Event - Migrating WinFormNET Event - Migrating WinForm
NET Event - Migrating WinForm
 
dot net
dot netdot net
dot net
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
 
Javascript from beginning to modern
Javascript from beginning to modernJavascript from beginning to modern
Javascript from beginning to modern
 
ASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big DealASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big Deal
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6
 
Murach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMurach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVC
 
Cloud computing & .NET 4.0 overview
Cloud computing & .NET 4.0 overviewCloud computing & .NET 4.0 overview
Cloud computing & .NET 4.0 overview
 
Silverlight
SilverlightSilverlight
Silverlight
 
Building web applications using kendo ui and the mvvm pattern
Building web applications using kendo ui and the mvvm patternBuilding web applications using kendo ui and the mvvm pattern
Building web applications using kendo ui and the mvvm pattern
 
Clifford nelson resume_16-06
Clifford nelson resume_16-06Clifford nelson resume_16-06
Clifford nelson resume_16-06
 
STLDODN - Get Rid of CRUD faster!
STLDODN - Get Rid of CRUD faster!STLDODN - Get Rid of CRUD faster!
STLDODN - Get Rid of CRUD faster!
 
PHP and Silverlight
PHP and SilverlightPHP and Silverlight
PHP and Silverlight
 
Improve your Web Development using Visual Studio 2010
Improve your Web Development using Visual Studio 2010Improve your Web Development using Visual Studio 2010
Improve your Web Development using Visual Studio 2010
 
Asp.netmvc handson
Asp.netmvc handsonAsp.netmvc handson
Asp.netmvc handson
 
Asp.net Overview and Controllers
Asp.net Overview and ControllersAsp.net Overview and Controllers
Asp.net Overview and Controllers
 
From Windows Presentation Foundation To Silverlight
From Windows Presentation Foundation To SilverlightFrom Windows Presentation Foundation To Silverlight
From Windows Presentation Foundation To Silverlight
 
NodeJS vs Laravel.pptx
NodeJS vs Laravel.pptxNodeJS vs Laravel.pptx
NodeJS vs Laravel.pptx
 

MVVM TITLE

  • 1. Understanding MVVM Design Pattern Silverlight adventures of asp.net developer Ljubomir Zivanovic senior software developer, netcetera
  • 2.
  • 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#
  • 5. Motivation impressions WP7 & Silverlight = dream team! MVVM Silverlight WP7 HTML5
  • 6. Situation Q: How to jump to SL/WP7 Bandwagon in a most efficient way? A: Hands on - Download WP7 SDK and start playing
  • 7. Getting started My First WP7 Silverlight project DEMO
  • 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
  • 12. Getting started with MVVM My Second WP7 Silverlight project DEMO
  • 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/
  • 17. MVVM on other platforms
  • 18.
  • 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…
  • 20. 06th November, FON University