SlideShare a Scribd company logo
1 of 23
MVC, MVP and MVVM:
A Comparison of
Architectural Patterns
What This Session Is And What It Is Not
 It is:
◦ An investigation of how different software architecture patterns
relate to different Microsoft developer technologies
◦ A what to use where discussion
 It is not:
◦ An exhaustive architectural discussion of software patterns with a
bunch of mental pontifications.
Overview
 What, why, how of Model-view-controller(C) or
presenter(P) or View Model(VM) architecture patterns
 Model-View-Controller (MVC) pattern
◦ ASP.Net MVC 3 example
 Model-View-Presenter (MVP) pattern
◦ Web Forms/SharePoint example
 Model-View-ViewModel (MVVM) pattern
◦ Silverlight example
 What to use where
What is Model/View/(C or VM or P)
 Patterns that describe a modular approach to
software development
 Modules include:
◦ Model – Data
◦ View – Presentation Layer
◦ C or VM or P – Glue Logic
 They are based upon a “Separation of Duties”
◦ Seen in many other types o,f system frameworks
 How is this different from nTier development in the 90’s -
anybody remember Distributed interNet Architecture
(DNA)
Why Model-View-(C or VM or P)
 The Patterns all have similar goals, however, achieve
them in different ways
 The Patterns goals are to increase:
◦ Modularity
◦ Flexibility
◦ Testability
◦ Maintainability
Model-View-Controller (MVC)
 First described in 1979 for Smalltalk at Xerox PARC
 Controller is centerpiece that decouples the Model
and View
 Control flow:
◦ User interaction event
◦ Controller handles event and converts it to a user action the
Model can understand
◦ Model manages the behavior and data of the application domain
◦ The View interacts with the Controller and Model to generate a
user interface
Client/Server (DNA) vs MVC
Controll
er
Model
View
Client
------------------
-----
Business
Objects
Server
----------------
-------
Business
Objects
Data
MVC Observer Pattern
Controller
Model
View
ASP.Net MVC 3
Model-View-Presenter (MVP)
 MVP originated in early 1990s
 MVP is a derivative of MVC
 Two types of implementation
◦ Passive View
◦ Supervising Controller
 Presenter assumes the functionality of the MVC Controller
 View is responsible for handling UI events
 Model becomes strictly a Domain Model
 More User Interface centric
MVC vs MVP (Passive)
Present
er
Model
View
Controll
er
Model
View
MVP – Supervising Controller Pattern
Presenter
Model
View
SharePoint 2010 Developer Guidance
 MVP Class Diagram and Flow of Execution for the SandBox
Execution Model
MVP Using ASP.Net Web
Forms
Model-View-ViewModel (MVVM)
 Largely based on MVC
 Specialization of the MVP pattern known as the Presentation Model
 Built specifically for the WPF and Silverlight environments
 Model and View works just like MVC
 ViewModel is a “Model of the View”
◦ It extends the Model with Behaviors the View could use
◦ Data Binding between View and Model
◦ Passes commands between the View and Model
MVP (Passive) vs MVVM
ViewMod
el
Model
View
Present
er
Model
View
MVVM Using Silverlight
What To Use Where
 Model-View-Controller (MVC) pattern
◦ ASP.Net MVC 3
◦ Disconnected Web Based Applications
 Model-View-Presenter (MVP) pattern
◦ Web Forms/SharePoint, Windows Forms
◦ UI state logic already wired up
 Model-View-ViewModel (MVVM) pattern
◦ Silverlight, WPF
◦ Two way data-binding
ARC Track Resources
 http://www.microsoft.com/visualstudio
 http://www.microsoft.com/visualstudio/en-us/lightswitch
 http://www.microsoft.com/expression/
 http://blogs.msdn.com/b/somasegar/
 http://blogs.msdn.com/b/bharry/
 http://www.microsoft.com/sqlserver/en/us/default.aspx
 http://www.facebook.com/visualstudio
Resources
www.microsoft.com/teched www.microsoft.com/learning
http://microsoft.com/technet http://microsoft.com/msdn
http://northamerica.msteched.com
Ios models
Ios models
Ios models

More Related Content

What's hot

Rapid deploy™ plugin for websphere message broker
Rapid deploy™ plugin for websphere message brokerRapid deploy™ plugin for websphere message broker
Rapid deploy™ plugin for websphere message broker
MidVision
 
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
Tony Erwin
 

What's hot (20)

SOA vs Microservices vs SBA
SOA vs Microservices vs SBASOA vs Microservices vs SBA
SOA vs Microservices vs SBA
 
Business Agility through Self-Service Messaging - InterConnect 2016
Business Agility through Self-Service Messaging - InterConnect 2016Business Agility through Self-Service Messaging - InterConnect 2016
Business Agility through Self-Service Messaging - InterConnect 2016
 
#1922 rest-push2 ap-im-v6
#1922 rest-push2 ap-im-v6#1922 rest-push2 ap-im-v6
#1922 rest-push2 ap-im-v6
 
Effective admin and development in iib
Effective admin and development in iibEffective admin and development in iib
Effective admin and development in iib
 
Cloud Messaging with NServiceBus and Microsoft Azure
Cloud Messaging with NServiceBus and Microsoft AzureCloud Messaging with NServiceBus and Microsoft Azure
Cloud Messaging with NServiceBus and Microsoft Azure
 
Nats meetup sf 20150826
Nats meetup sf   20150826Nats meetup sf   20150826
Nats meetup sf 20150826
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
 
HHM-3540: The IBM MQ Light API: From Developer Laptop to Enterprise Data Cen...
 HHM-3540: The IBM MQ Light API: From Developer Laptop to Enterprise Data Cen... HHM-3540: The IBM MQ Light API: From Developer Laptop to Enterprise Data Cen...
HHM-3540: The IBM MQ Light API: From Developer Laptop to Enterprise Data Cen...
 
Rapid deploy™ plugin for websphere message broker
Rapid deploy™ plugin for websphere message brokerRapid deploy™ plugin for websphere message broker
Rapid deploy™ plugin for websphere message broker
 
Keamanan Digital dan Privasi di Masa Pandemi-Taro Lay (Director-Kalama Cyber)
Keamanan Digital dan Privasi di Masa Pandemi-Taro Lay (Director-Kalama Cyber)Keamanan Digital dan Privasi di Masa Pandemi-Taro Lay (Director-Kalama Cyber)
Keamanan Digital dan Privasi di Masa Pandemi-Taro Lay (Director-Kalama Cyber)
 
DevOps & Continuous Test for IIB and IBM MQ
DevOps & Continuous Test for IIB and IBM MQDevOps & Continuous Test for IIB and IBM MQ
DevOps & Continuous Test for IIB and IBM MQ
 
Re-Think Veeam Availability Platform
Re-Think Veeam Availability Platform Re-Think Veeam Availability Platform
Re-Think Veeam Availability Platform
 
Using Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through OperatorsUsing Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through Operators
 
Ibm mq appliance slideshare
Ibm mq appliance slideshareIbm mq appliance slideshare
Ibm mq appliance slideshare
 
Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...
 
Simplify hybrid cloud protection with veeam availability platform
Simplify hybrid cloud protection with veeam availability platformSimplify hybrid cloud protection with veeam availability platform
Simplify hybrid cloud protection with veeam availability platform
 
Ame 4166 ibm mq appliance
Ame 4166 ibm mq applianceAme 4166 ibm mq appliance
Ame 4166 ibm mq appliance
 
Ad Hoc Automation is an Expensive Mistake
Ad Hoc Automation is an Expensive MistakeAd Hoc Automation is an Expensive Mistake
Ad Hoc Automation is an Expensive Mistake
 
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
 
SHARE2016: DevOps - IIB Administration for Continuous Delivery and DevOps
SHARE2016:  DevOps - IIB Administration for Continuous Delivery and DevOpsSHARE2016:  DevOps - IIB Administration for Continuous Delivery and DevOps
SHARE2016: DevOps - IIB Administration for Continuous Delivery and DevOps
 

Similar to Ios models

Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01
Jennie Gajjar
 

Similar to Ios models (20)

Mvc
MvcMvc
Mvc
 
Model View Madness
Model View MadnessModel View Madness
Model View Madness
 
Technoligent providing custom ASP.NET MVC development services
Technoligent providing custom ASP.NET MVC development servicesTechnoligent providing custom ASP.NET MVC development services
Technoligent providing custom ASP.NET MVC development services
 
Introduction to mvc architecture
Introduction to mvc architectureIntroduction to mvc architecture
Introduction to mvc architecture
 
Design Pattern - MVC, MVP and MVVM
Design Pattern - MVC, MVP and MVVMDesign Pattern - MVC, MVP and MVVM
Design Pattern - MVC, MVP and MVVM
 
Exploring MVVM, MVC, MVP Patterns - CRB Tech
Exploring MVVM, MVC, MVP Patterns - CRB TechExploring MVVM, MVC, MVP Patterns - CRB Tech
Exploring MVVM, MVC, MVP Patterns - CRB Tech
 
Asp.net Mvc Introduction
Asp.net Mvc IntroductionAsp.net Mvc Introduction
Asp.net Mvc Introduction
 
Model View Controller ext4
Model View Controller  ext4Model View Controller  ext4
Model View Controller ext4
 
Ppt of Basic MVC Structure
Ppt of Basic MVC StructurePpt of Basic MVC Structure
Ppt of Basic MVC Structure
 
Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01
 
Software Design Patterns
Software Design PatternsSoftware Design Patterns
Software Design Patterns
 
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
 
Introdução ao ASP .NET MVC - C. Augusto Proiete
Introdução ao ASP .NET MVC - C. Augusto ProieteIntrodução ao ASP .NET MVC - C. Augusto Proiete
Introdução ao ASP .NET MVC - C. Augusto Proiete
 
MVC architecture
MVC architectureMVC architecture
MVC architecture
 
Design & Development of Web Applications using SpringMVC
Design & Development of Web Applications using SpringMVC Design & Development of Web Applications using SpringMVC
Design & Development of Web Applications using SpringMVC
 
Intro ASP MVC
Intro ASP MVCIntro ASP MVC
Intro ASP MVC
 
An overview of microsoft mvc dot net
An overview of microsoft mvc dot netAn overview of microsoft mvc dot net
An overview of microsoft mvc dot net
 
Mvc part 1
Mvc part 1Mvc part 1
Mvc part 1
 
MVC.pptx
MVC.pptxMVC.pptx
MVC.pptx
 
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptxWhat Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
 

Recently uploaded

result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
Tonystark477637
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Dr.Costas Sachpazis
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 

Ios models

  • 1. MVC, MVP and MVVM: A Comparison of Architectural Patterns
  • 2. What This Session Is And What It Is Not  It is: ◦ An investigation of how different software architecture patterns relate to different Microsoft developer technologies ◦ A what to use where discussion  It is not: ◦ An exhaustive architectural discussion of software patterns with a bunch of mental pontifications.
  • 3. Overview  What, why, how of Model-view-controller(C) or presenter(P) or View Model(VM) architecture patterns  Model-View-Controller (MVC) pattern ◦ ASP.Net MVC 3 example  Model-View-Presenter (MVP) pattern ◦ Web Forms/SharePoint example  Model-View-ViewModel (MVVM) pattern ◦ Silverlight example  What to use where
  • 4. What is Model/View/(C or VM or P)  Patterns that describe a modular approach to software development  Modules include: ◦ Model – Data ◦ View – Presentation Layer ◦ C or VM or P – Glue Logic  They are based upon a “Separation of Duties” ◦ Seen in many other types o,f system frameworks  How is this different from nTier development in the 90’s - anybody remember Distributed interNet Architecture (DNA)
  • 5. Why Model-View-(C or VM or P)  The Patterns all have similar goals, however, achieve them in different ways  The Patterns goals are to increase: ◦ Modularity ◦ Flexibility ◦ Testability ◦ Maintainability
  • 6. Model-View-Controller (MVC)  First described in 1979 for Smalltalk at Xerox PARC  Controller is centerpiece that decouples the Model and View  Control flow: ◦ User interaction event ◦ Controller handles event and converts it to a user action the Model can understand ◦ Model manages the behavior and data of the application domain ◦ The View interacts with the Controller and Model to generate a user interface
  • 7. Client/Server (DNA) vs MVC Controll er Model View Client ------------------ ----- Business Objects Server ---------------- ------- Business Objects Data
  • 10. Model-View-Presenter (MVP)  MVP originated in early 1990s  MVP is a derivative of MVC  Two types of implementation ◦ Passive View ◦ Supervising Controller  Presenter assumes the functionality of the MVC Controller  View is responsible for handling UI events  Model becomes strictly a Domain Model  More User Interface centric
  • 11. MVC vs MVP (Passive) Present er Model View Controll er Model View
  • 12. MVP – Supervising Controller Pattern Presenter Model View
  • 13. SharePoint 2010 Developer Guidance  MVP Class Diagram and Flow of Execution for the SandBox Execution Model
  • 14. MVP Using ASP.Net Web Forms
  • 15. Model-View-ViewModel (MVVM)  Largely based on MVC  Specialization of the MVP pattern known as the Presentation Model  Built specifically for the WPF and Silverlight environments  Model and View works just like MVC  ViewModel is a “Model of the View” ◦ It extends the Model with Behaviors the View could use ◦ Data Binding between View and Model ◦ Passes commands between the View and Model
  • 16. MVP (Passive) vs MVVM ViewMod el Model View Present er Model View
  • 18. What To Use Where  Model-View-Controller (MVC) pattern ◦ ASP.Net MVC 3 ◦ Disconnected Web Based Applications  Model-View-Presenter (MVP) pattern ◦ Web Forms/SharePoint, Windows Forms ◦ UI state logic already wired up  Model-View-ViewModel (MVVM) pattern ◦ Silverlight, WPF ◦ Two way data-binding
  • 19. ARC Track Resources  http://www.microsoft.com/visualstudio  http://www.microsoft.com/visualstudio/en-us/lightswitch  http://www.microsoft.com/expression/  http://blogs.msdn.com/b/somasegar/  http://blogs.msdn.com/b/bharry/  http://www.microsoft.com/sqlserver/en/us/default.aspx  http://www.facebook.com/visualstudio