SlideShare una empresa de Scribd logo
1 de 10
Model-View-Controller
Architecture
Devan M.S.
What is MVC?

Architectural design pattern which works to
separate data and UI for a more cohesive and
modularized system
What is MVC?

Model represents the data model
− “Manages behavior and data of the application
domain”

View represents the screen(s) shown to the
user
− “Manages the graphical and/or textual output to the
portion of the bitmapped display that is allocated to
its application”

Controller represents interactions from the user
that changes the data and the view
− “Interprets the mouse and keyboard inputs from the
user, commanding the model and/or the view to
change as appropriate” (Burbeck)
How did it come about?

Presented by Trygve Reenskaug in 1979

First used in the Smalltalk-80 framework
− Used in making Apple interfaces (Lisa and
Macintosh)
How does it work?

User inputs a command

Controller handles input and updates model or
changes the view

View, which relies on model to show data to
user, updates if necessary

Rinse and Repeat
What is MVC?
What’s the point?

Provides a logical structure for heavily
interactive system

Adheres to good engineering design principles
and practices
− Information hiding, less coupling, simplicity, etc.
− Delegated control style
What’s the point?
 Just plain easier (even if it doesn’t look it)!
• Study shows that most introductory CS college
students tend to clump a UI program into one big
monolithic main class
• Unfamiliarity stems from student tendency to
program according to styles presented in textbooks
and not being introduced to design principles early
(Morse)
Conclusion

MVC is a sound architectural design for
almost any GUI application
Conclusion

MVC is a sound architectural design for
almost any GUI application

Más contenido relacionado

La actualidad más candente

Multi Tier Architecture
Multi Tier ArchitectureMulti Tier Architecture
Multi Tier Architecture
gatigno
 
SysML Tutorial
SysML TutorialSysML Tutorial
SysML Tutorial
Tonex
 

La actualidad más candente (19)

3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 
Architecture logicielle #4 : mvc
Architecture logicielle #4 : mvcArchitecture logicielle #4 : mvc
Architecture logicielle #4 : mvc
 
Multi Tier Architecture
Multi Tier ArchitectureMulti Tier Architecture
Multi Tier Architecture
 
SysML Tutorial
SysML TutorialSysML Tutorial
SysML Tutorial
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 
N-Tier Application Architecture
N-Tier Application ArchitectureN-Tier Application Architecture
N-Tier Application Architecture
 
Presentation facade design pattern
Presentation facade design patternPresentation facade design pattern
Presentation facade design pattern
 
Facade pattern presentation(.pptx)
Facade pattern presentation(.pptx)Facade pattern presentation(.pptx)
Facade pattern presentation(.pptx)
 
An Inference Sharing Architecture for a More Efficient Context Reasoning
An Inference Sharing Architecture for a More Efficient Context ReasoningAn Inference Sharing Architecture for a More Efficient Context Reasoning
An Inference Sharing Architecture for a More Efficient Context Reasoning
 
Facade pattern
Facade patternFacade pattern
Facade pattern
 
PAC
PACPAC
PAC
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 
Design pattern
Design patternDesign pattern
Design pattern
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 
Facadepattern
FacadepatternFacadepattern
Facadepattern
 
VBA Macros Course Content
VBA Macros Course ContentVBA Macros Course Content
VBA Macros Course Content
 
3 Tier Architecture
3 Tier Architecture3 Tier Architecture
3 Tier Architecture
 
Layered Architecture - Software Architecture Pattern
Layered Architecture - Software Architecture PatternLayered Architecture - Software Architecture Pattern
Layered Architecture - Software Architecture Pattern
 
Model Driven Architectures
Model Driven ArchitecturesModel Driven Architectures
Model Driven Architectures
 

Destacado

Solución de cuidado personal al alcance de una app
Solución de cuidado personal al alcance de una appSolución de cuidado personal al alcance de una app
Solución de cuidado personal al alcance de una app
Corporacion Colombia Digital
 
Preparación virtual en competencias y habilidades para las Pruebas Saber
Preparación virtual en competencias  y habilidades para las Pruebas SaberPreparación virtual en competencias  y habilidades para las Pruebas Saber
Preparación virtual en competencias y habilidades para las Pruebas Saber
Corporacion Colombia Digital
 
Comunicación efectiva entre instituciones educativas, profesores, padres y al...
Comunicación efectiva entre instituciones educativas, profesores, padres y al...Comunicación efectiva entre instituciones educativas, profesores, padres y al...
Comunicación efectiva entre instituciones educativas, profesores, padres y al...
Corporacion Colombia Digital
 

Destacado (20)

Just a View: An Introduction To Model-View-Controller Pattern
Just a View:  An Introduction To Model-View-Controller PatternJust a View:  An Introduction To Model-View-Controller Pattern
Just a View: An Introduction To Model-View-Controller Pattern
 
MVC architecture
MVC architectureMVC architecture
MVC architecture
 
Mashups de carátulas de álbumes musicales
Mashups de carátulas de álbumes musicalesMashups de carátulas de álbumes musicales
Mashups de carátulas de álbumes musicales
 
Cinco aplicaciones básicas para los viajeros
Cinco aplicaciones básicas para los viajerosCinco aplicaciones básicas para los viajeros
Cinco aplicaciones básicas para los viajeros
 
“ICT in Colombia”
 “ICT in Colombia” “ICT in Colombia”
“ICT in Colombia”
 
Una comunidad para construir ciudades inteligentes
Una comunidad para construir ciudades inteligentesUna comunidad para construir ciudades inteligentes
Una comunidad para construir ciudades inteligentes
 
Presentation2 vers3
Presentation2 vers3Presentation2 vers3
Presentation2 vers3
 
Configuración de aplicaciones para momentos concretos del día
Configuración de aplicaciones para momentos concretos del díaConfiguración de aplicaciones para momentos concretos del día
Configuración de aplicaciones para momentos concretos del día
 
Diseñe gráficos e impresiones como un profesional
Diseñe gráficos e impresiones como un profesionalDiseñe gráficos e impresiones como un profesional
Diseñe gráficos e impresiones como un profesional
 
MVC
MVCMVC
MVC
 
Solución de cuidado personal al alcance de una app
Solución de cuidado personal al alcance de una appSolución de cuidado personal al alcance de una app
Solución de cuidado personal al alcance de una app
 
Cloud Services & the Development of ISO/IEC 27018
Cloud Services & the Development of ISO/IEC 27018Cloud Services & the Development of ISO/IEC 27018
Cloud Services & the Development of ISO/IEC 27018
 
What is MVC?
What is MVC?What is MVC?
What is MVC?
 
Lean startup: convierta su idea en un negocio
Lean startup: convierta su idea en un negocioLean startup: convierta su idea en un negocio
Lean startup: convierta su idea en un negocio
 
Preparación virtual en competencias y habilidades para las Pruebas Saber
Preparación virtual en competencias  y habilidades para las Pruebas SaberPreparación virtual en competencias  y habilidades para las Pruebas Saber
Preparación virtual en competencias y habilidades para las Pruebas Saber
 
Padres interesados en cuidar a sus hijos en Internet
Padres interesados en cuidar a sus hijos en InternetPadres interesados en cuidar a sus hijos en Internet
Padres interesados en cuidar a sus hijos en Internet
 
Why MVC?
Why MVC?Why MVC?
Why MVC?
 
Redes sociales para la gestión de equipos de trabajo
Redes sociales para la gestión de equipos de trabajoRedes sociales para la gestión de equipos de trabajo
Redes sociales para la gestión de equipos de trabajo
 
Comunicación efectiva entre instituciones educativas, profesores, padres y al...
Comunicación efectiva entre instituciones educativas, profesores, padres y al...Comunicación efectiva entre instituciones educativas, profesores, padres y al...
Comunicación efectiva entre instituciones educativas, profesores, padres y al...
 
¿Anuncios en Facebook? 5 claves para optimizar la publicidad
¿Anuncios en Facebook? 5 claves para optimizar la publicidad¿Anuncios en Facebook? 5 claves para optimizar la publicidad
¿Anuncios en Facebook? 5 claves para optimizar la publicidad
 

Similar a Mvc devan

Mvc pattern and implementation in java fair
Mvc   pattern   and implementation   in   java fairMvc   pattern   and implementation   in   java fair
Mvc pattern and implementation in java fair
Tech_MX
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 

Similar a Mvc devan (20)

Mvc pattern and implementation in java fair
Mvc   pattern   and implementation   in   java fairMvc   pattern   and implementation   in   java fair
Mvc pattern and implementation in java fair
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
 
Ppt of Basic MVC Structure
Ppt of Basic MVC StructurePpt of Basic MVC Structure
Ppt of Basic MVC Structure
 
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
 
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
 
Software Design Patterns
Software Design PatternsSoftware Design Patterns
Software Design Patterns
 
MVC Architecture
MVC ArchitectureMVC Architecture
MVC Architecture
 
MVC
MVCMVC
MVC
 
Verbal+Visual: MVC Structure. Model, View, Controller.
Verbal+Visual: MVC Structure.  Model, View, Controller.Verbal+Visual: MVC Structure.  Model, View, Controller.
Verbal+Visual: MVC Structure. Model, View, Controller.
 
Interaction-Oriented Architecture.pptx
Interaction-Oriented Architecture.pptxInteraction-Oriented Architecture.pptx
Interaction-Oriented Architecture.pptx
 
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
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
 
J2 ee archi
J2 ee archiJ2 ee archi
J2 ee archi
 
Jsp with mvc
Jsp with mvcJsp with mvc
Jsp with mvc
 
Struts(mrsurwar) ppt
Struts(mrsurwar) pptStruts(mrsurwar) ppt
Struts(mrsurwar) ppt
 
MVC Web Application
MVC Web Application MVC Web Application
MVC Web Application
 
Pattern oriented architecture for web based architecture
Pattern oriented architecture for web based architecturePattern oriented architecture for web based architecture
Pattern oriented architecture for web based architecture
 
1.Design Modelling for Web Apps.pdf software engineering
1.Design Modelling for Web Apps.pdf software engineering1.Design Modelling for Web Apps.pdf software engineering
1.Design Modelling for Web Apps.pdf software engineering
 
Model View Controller(MVC)
Model View Controller(MVC)Model View Controller(MVC)
Model View Controller(MVC)
 

Último

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
 

Último (20)

Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
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)
 
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
 
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, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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...
 
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...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
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...
 

Mvc devan

  • 2. What is MVC?  Architectural design pattern which works to separate data and UI for a more cohesive and modularized system
  • 3. What is MVC?  Model represents the data model − “Manages behavior and data of the application domain”  View represents the screen(s) shown to the user − “Manages the graphical and/or textual output to the portion of the bitmapped display that is allocated to its application”  Controller represents interactions from the user that changes the data and the view − “Interprets the mouse and keyboard inputs from the user, commanding the model and/or the view to change as appropriate” (Burbeck)
  • 4. How did it come about?  Presented by Trygve Reenskaug in 1979  First used in the Smalltalk-80 framework − Used in making Apple interfaces (Lisa and Macintosh)
  • 5. How does it work?  User inputs a command  Controller handles input and updates model or changes the view  View, which relies on model to show data to user, updates if necessary  Rinse and Repeat
  • 7. What’s the point?  Provides a logical structure for heavily interactive system  Adheres to good engineering design principles and practices − Information hiding, less coupling, simplicity, etc. − Delegated control style
  • 8. What’s the point?  Just plain easier (even if it doesn’t look it)! • Study shows that most introductory CS college students tend to clump a UI program into one big monolithic main class • Unfamiliarity stems from student tendency to program according to styles presented in textbooks and not being introduced to design principles early (Morse)
  • 9. Conclusion  MVC is a sound architectural design for almost any GUI application
  • 10. Conclusion  MVC is a sound architectural design for almost any GUI application