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

SOA vs Microservices vs SBA
SOA vs Microservices vs SBASOA vs Microservices vs SBA
SOA vs Microservices vs SBAMichael Sukachev
 
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 2016Leif Davidsen
 
#1922 rest-push2 ap-im-v6
#1922 rest-push2 ap-im-v6#1922 rest-push2 ap-im-v6
#1922 rest-push2 ap-im-v6Jack Carnes
 
Effective admin and development in iib
Effective admin and development in iibEffective admin and development in iib
Effective admin and development in iibm16k
 
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 AzureParticular Software
 
Nats meetup sf 20150826
Nats meetup sf   20150826Nats meetup sf   20150826
Nats meetup sf 20150826Apcera
 
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...Matt Leming
 
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 brokerMidVision
 
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)DicodingEvent
 
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 MQStuart Feasey
 
Re-Think Veeam Availability Platform
Re-Think Veeam Availability Platform Re-Think Veeam Availability Platform
Re-Think Veeam Availability Platform Tanawit Chansuchai
 
Using Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through OperatorsUsing Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through Operatorscamunda services GmbH
 
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...Vinay Kumar
 
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 platformTanawit Chansuchai
 
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 MistakeBMC Software
 
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
 
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 DevOpsRob Convery
 

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

Model View Madness
Model View MadnessModel View Madness
Model View MadnessMike Wilcox
 
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 servicesAaron Jacobson
 
Introduction to mvc architecture
Introduction to mvc architectureIntroduction to mvc architecture
Introduction to mvc architectureravindraquicsolv
 
Design Pattern - MVC, MVP and MVVM
Design Pattern - MVC, MVP and MVVMDesign Pattern - MVC, MVP and MVVM
Design Pattern - MVC, MVP and MVVMMudasir Qazi
 
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 TechPooja Gaikwad
 
Asp.net Mvc Introduction
Asp.net Mvc IntroductionAsp.net Mvc Introduction
Asp.net Mvc IntroductionVishal Sharma
 
Model View Controller ext4
Model View Controller  ext4Model View Controller  ext4
Model View Controller ext4Pankaj Avhad
 
Ppt of Basic MVC Structure
Ppt of Basic MVC StructurePpt of Basic MVC Structure
Ppt of Basic MVC StructureDipika Wadhvani
 
Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01Jennie Gajjar
 
Software Design Patterns
Software Design PatternsSoftware Design Patterns
Software Design Patternsalkuzaee
 
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 patternsConcetto Labs
 
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 ProieteComunidade NetPonto
 
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 Naresh Chintalcheru
 
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 netneha sharma
 
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.pptxQuickwayInfoSystems3
 

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

EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIkoyaldeepu123
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixingviprabot1
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 

Recently uploaded (20)

EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AI
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixing
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 

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