SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
Binu Bhasuran
Microsoft MVP Visual C#
Facebook http://facebook.com/codeno47
Blog http://proxdev.com/
What is a MVVM?
How it is important to software development?
The Model-View-Presenter (MVP) pattern has
enjoyed popularity on various UI programming
platforms.
MVP is a variation of the Model-View-Controller
pattern, which has been around for decades.
Martin Fowler published an article about a
pattern named Presentation Model (PM).
John Gossman, currently one of the WPF and
Silverlight Architects at Microsoft, unveiled the
Model-View-ViewModel (MVVM) pattern
The single most important aspect of WPF that
makes MVVM a great pattern to use is the data
binding infrastructure.
Entirely remove the need for writing code in a
ViewModel that directly updates a view.
Can easily write code that tests
Visual designers, using MVVM makes it much easier
to create a smooth designer/developer workflow.
ICommand objects exposed by the ViewModel
execute.
When a ViewModel exposes an instance
property of type ICommand, the command
object typically uses that ViewModel object to
get its job done.
RelayCommand is a simplified variation of the
DelegateCommand
Implements the INotifyPropertyChanged
interface.
Model view view model
Model view view model
Model view view model
Model view view model
Model view view model

Mais conteúdo relacionado

Mais procurados

We4IT LCTY 2013 - x-pages-men - aveedo your application framework
We4IT LCTY 2013 - x-pages-men - aveedo your application frameworkWe4IT LCTY 2013 - x-pages-men - aveedo your application framework
We4IT LCTY 2013 - x-pages-men - aveedo your application framework
We4IT Group
 
I didnt know Flex could do this
I didnt know Flex could do thisI didnt know Flex could do this
I didnt know Flex could do this
e27
 
Community day mvvmcross
Community day mvvmcrossCommunity day mvvmcross
Community day mvvmcross
Qframe
 
Thomas Swendiman Sample Portfolio
Thomas Swendiman Sample PortfolioThomas Swendiman Sample Portfolio
Thomas Swendiman Sample Portfolio
tswendiman
 
Introduction To Useful Wpf
Introduction To Useful WpfIntroduction To Useful Wpf
Introduction To Useful Wpf
Burke Holland
 
Web Development with Visual Studio 2012
Web Development with Visual Studio 2012Web Development with Visual Studio 2012
Web Development with Visual Studio 2012
Raffaele Fanizzi
 

Mais procurados (20)

We4IT LCTY 2013 - x-pages-men - aveedo your application framework
We4IT LCTY 2013 - x-pages-men - aveedo your application frameworkWe4IT LCTY 2013 - x-pages-men - aveedo your application framework
We4IT LCTY 2013 - x-pages-men - aveedo your application framework
 
dot net
dot netdot net
dot net
 
Enterprise modeling
Enterprise modelingEnterprise modeling
Enterprise modeling
 
How ASP.NET MVC Implementation Help Enterprise Web Application Development?
How ASP.NET MVC  Implementation  Help Enterprise  Web Application Development?How ASP.NET MVC  Implementation  Help Enterprise  Web Application Development?
How ASP.NET MVC Implementation Help Enterprise Web Application Development?
 
Assignment 1 supply and demand videoafter reviewing the video you
Assignment 1 supply and demand videoafter reviewing the video youAssignment 1 supply and demand videoafter reviewing the video you
Assignment 1 supply and demand videoafter reviewing the video you
 
Building android app with mvp and kotlin
Building android app  with mvp and kotlinBuilding android app  with mvp and kotlin
Building android app with mvp and kotlin
 
What is java fx?
What is java fx?What is java fx?
What is java fx?
 
I didnt know Flex could do this
I didnt know Flex could do thisI didnt know Flex could do this
I didnt know Flex could do this
 
Community day mvvmcross
Community day mvvmcrossCommunity day mvvmcross
Community day mvvmcross
 
Df4
Df4Df4
Df4
 
Vimeo - TLV iOS developers meetup slides 26.10.21
Vimeo - TLV iOS developers meetup slides 26.10.21Vimeo - TLV iOS developers meetup slides 26.10.21
Vimeo - TLV iOS developers meetup slides 26.10.21
 
Mvc ppt
Mvc pptMvc ppt
Mvc ppt
 
Javascript from beginning to modern
Javascript from beginning to modernJavascript from beginning to modern
Javascript from beginning to modern
 
Thomas Swendiman Sample Portfolio
Thomas Swendiman Sample PortfolioThomas Swendiman Sample Portfolio
Thomas Swendiman Sample Portfolio
 
Building databound JavaScript apps with Knockoutjs
Building databound JavaScript apps with KnockoutjsBuilding databound JavaScript apps with Knockoutjs
Building databound JavaScript apps with Knockoutjs
 
Introduction To Useful Wpf
Introduction To Useful WpfIntroduction To Useful Wpf
Introduction To Useful Wpf
 
Web Development with Visual Studio 2012
Web Development with Visual Studio 2012Web Development with Visual Studio 2012
Web Development with Visual Studio 2012
 
Shield UI JavaScript Chart
Shield UI JavaScript ChartShield UI JavaScript Chart
Shield UI JavaScript Chart
 
客製化的 Web api 的框架設計
客製化的 Web api 的框架設計客製化的 Web api 的框架設計
客製化的 Web api 的框架設計
 
Arquitectura MVVM para la construcción de aplicaciones Windows Store
Arquitectura MVVM para la construcción de aplicaciones Windows StoreArquitectura MVVM para la construcción de aplicaciones Windows Store
Arquitectura MVVM para la construcción de aplicaciones Windows Store
 

Semelhante a Model view view model

Choosing the Right HTML5 Framework to Build your Mobile Web Application White...
Choosing the Right HTML5 Framework to Build your Mobile Web Application White...Choosing the Right HTML5 Framework to Build your Mobile Web Application White...
Choosing the Right HTML5 Framework to Build your Mobile Web Application White...
RapidValue
 
Slides of webinar Kendo UI and Knockout.js
Slides of webinar Kendo UI and Knockout.jsSlides of webinar Kendo UI and Knockout.js
Slides of webinar Kendo UI and Knockout.js
Dhananjay Kumar
 

Semelhante a Model view view model (20)

Choosing the Right HTML5 Framework to Build your Mobile Web Application White...
Choosing the Right HTML5 Framework to Build your Mobile Web Application White...Choosing the Right HTML5 Framework to Build your Mobile Web Application White...
Choosing the Right HTML5 Framework to Build your Mobile Web Application White...
 
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
Mvc vs mvp vs mvvm  a guide on architecture presentation patternsMvc vs mvp vs mvvm  a guide on architecture presentation patterns
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
 
Automated Unit Testing in Silverlight for Windows Phone 7
Automated Unit Testing in Silverlight for Windows Phone 7Automated Unit Testing in Silverlight for Windows Phone 7
Automated Unit Testing in Silverlight for Windows Phone 7
 
149 152
149 152149 152
149 152
 
Android MVVM
Android MVVMAndroid MVVM
Android MVVM
 
Building xamarin.forms apps with prism and mvvm
Building xamarin.forms apps with prism and mvvmBuilding xamarin.forms apps with prism and mvvm
Building xamarin.forms apps with prism and mvvm
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobile
 
Prism library and MVVM
Prism library and MVVMPrism library and MVVM
Prism library and MVVM
 
MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )
 
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
 
Code Camp 06 Model View Presenter Architecture
Code Camp 06   Model View Presenter ArchitectureCode Camp 06   Model View Presenter Architecture
Code Camp 06 Model View Presenter Architecture
 
UI Design Patterns
UI Design PatternsUI Design Patterns
UI Design Patterns
 
Design Patterns in ZK: Java MVVM as Model-View-Binder
Design Patterns in ZK: Java MVVM as Model-View-BinderDesign Patterns in ZK: Java MVVM as Model-View-Binder
Design Patterns in ZK: Java MVVM as Model-View-Binder
 
Models used in iOS programming, with a focus on MVVM
Models used in iOS programming, with a focus on MVVMModels used in iOS programming, with a focus on MVVM
Models used in iOS programming, with a focus on MVVM
 
How I Accidentally Discovered MVVM
How I Accidentally Discovered MVVMHow I Accidentally Discovered MVVM
How I Accidentally Discovered MVVM
 
Mvvw patterns
Mvvw patternsMvvw patterns
Mvvw patterns
 
TechnoGeek training report
TechnoGeek training reportTechnoGeek training report
TechnoGeek training report
 
Training: MVVM Pattern
Training: MVVM PatternTraining: MVVM Pattern
Training: MVVM Pattern
 
Modern ASP.NET Webskills
Modern ASP.NET WebskillsModern ASP.NET Webskills
Modern ASP.NET Webskills
 
Slides of webinar Kendo UI and Knockout.js
Slides of webinar Kendo UI and Knockout.jsSlides of webinar Kendo UI and Knockout.js
Slides of webinar Kendo UI and Knockout.js
 

Mais de Binu Bhasuran

Beginning with wcf service
Beginning with wcf serviceBeginning with wcf service
Beginning with wcf service
Binu Bhasuran
 
Asynchronous programming in .net 4.5 with c#
Asynchronous programming in .net 4.5 with c#Asynchronous programming in .net 4.5 with c#
Asynchronous programming in .net 4.5 with c#
Binu Bhasuran
 

Mais de Binu Bhasuran (13)

Asp.net web api
Asp.net web apiAsp.net web api
Asp.net web api
 
Design patterns fast track
Design patterns fast trackDesign patterns fast track
Design patterns fast track
 
Microsoft Azure solutions - Whitepaper
Microsoft Azure solutions - WhitepaperMicrosoft Azure solutions - Whitepaper
Microsoft Azure solutions - Whitepaper
 
C# Basics
C# BasicsC# Basics
C# Basics
 
Microsoft Managed Extensibility Framework
Microsoft Managed Extensibility FrameworkMicrosoft Managed Extensibility Framework
Microsoft Managed Extensibility Framework
 
Restful Services With WFC
Restful Services With WFCRestful Services With WFC
Restful Services With WFC
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Wcf development
Wcf developmentWcf development
Wcf development
 
.Net platform an understanding
.Net platform an understanding.Net platform an understanding
.Net platform an understanding
 
Biz talk
Biz talkBiz talk
Biz talk
 
Moving from webservices to wcf services
Moving from webservices to wcf servicesMoving from webservices to wcf services
Moving from webservices to wcf services
 
Beginning with wcf service
Beginning with wcf serviceBeginning with wcf service
Beginning with wcf service
 
Asynchronous programming in .net 4.5 with c#
Asynchronous programming in .net 4.5 with c#Asynchronous programming in .net 4.5 with c#
Asynchronous programming in .net 4.5 with c#
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Model view view model

  • 1. Binu Bhasuran Microsoft MVP Visual C# Facebook http://facebook.com/codeno47 Blog http://proxdev.com/
  • 2. What is a MVVM? How it is important to software development?
  • 3. The Model-View-Presenter (MVP) pattern has enjoyed popularity on various UI programming platforms. MVP is a variation of the Model-View-Controller pattern, which has been around for decades.
  • 4. Martin Fowler published an article about a pattern named Presentation Model (PM). John Gossman, currently one of the WPF and Silverlight Architects at Microsoft, unveiled the Model-View-ViewModel (MVVM) pattern
  • 5. The single most important aspect of WPF that makes MVVM a great pattern to use is the data binding infrastructure. Entirely remove the need for writing code in a ViewModel that directly updates a view. Can easily write code that tests Visual designers, using MVVM makes it much easier to create a smooth designer/developer workflow.
  • 6. ICommand objects exposed by the ViewModel execute. When a ViewModel exposes an instance property of type ICommand, the command object typically uses that ViewModel object to get its job done. RelayCommand is a simplified variation of the DelegateCommand