SlideShare a Scribd company logo
1 of 14
Download to read offline
• Software architecture pattern that separates the model,
the user interface and control logic of an application in
three distinct components.
• MVC proposes the construction of three distinct components. One side
for the representation of information, and on the other hand for user
interaction.

One model

Many Views

Many Controllers
The Model
Representation of domain data.
Business logic
Persistence mechanism

The View
User Interface
Interaction elements

The Controller
Intermediary between Model and View
It maps user actions – model actions
Select the view and provide
information to itself
It is the specific representation of the
information with which the system
operates. Logic ensures the integrity of
data and allows to derive it.
Represents the model in a suitable format to interact and access the data,
usually called "User Interface" (GUI Java, HTML, XML).
It is the link between the view and the model, is responsible for receiving
and responding to events, typically user actions and invokes changes on
the model and probably in the view.
• Organization
• Rapid Application Development
• Reusing Code
• Parallel development
• It presents the same information in different ways.
• The views and application behavior should reflect the
manipulations of the data immediately.
• It allows different user interface standards or port it to other
environments where the application code should not be
affected.
• This model is not new, it was introduced in 1987 in the Smalltalk
programming language.
• With the boom of Web applications, it has proven to be a
programming mode that fits quite well with the internet, being
both the model and the controller executed server side, and the
view on the client side executed.
Control Flow
1.
2.
3.
4.

5.

The user performs an action on the interface.
The controller takes the input event.
The controller notifies the user action to the model,
which may involve a change of state of the model.
It generates a new view. The view takes the data
model.
The user interface waits for another user interaction,
which starts a new cycle.
Controller updates the
model
View alerts controller of a
particular event

View grabs model data and
updates itself

User interacts with a
view

Model alerts view that it has
changed
• It applies to all types of systems
• And technologies (Java, Ruby, Python, Perl, Flex, SmallTalk,. Net, etc..)
• Model: The model is made by the developer.
• View: Set of objects of classes that inherit from
java.awt.Component.
• Controller: The controller is the event processing thread, which
captures and propagates the event to the view and the model.
Treatment classes of events (sometimes as anonymous classes)
that implement EventListener type interfaces (ActionListener,
MouseListener, WindowListener, etc..).
Software Engineer
Instituto Tecnológico de Sonora
Sonora, México
@javierhumaran

More Related Content

What's hot

Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
Raed Aldahdooh
 
[Final] ReactJS presentation
[Final] ReactJS presentation[Final] ReactJS presentation
[Final] ReactJS presentation
洪 鹏发
 

What's hot (20)

Angular 8
Angular 8 Angular 8
Angular 8
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
 
Java Servlets
Java ServletsJava Servlets
Java Servlets
 
Servlets
ServletsServlets
Servlets
 
Introduction to mvc architecture
Introduction to mvc architectureIntroduction to mvc architecture
Introduction to mvc architecture
 
ASP.NET - Life cycle of asp
ASP.NET - Life cycle of aspASP.NET - Life cycle of asp
ASP.NET - Life cycle of asp
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
 
Laravel ppt
Laravel pptLaravel ppt
Laravel ppt
 
Web forms in ASP.net
Web forms in ASP.netWeb forms in ASP.net
Web forms in ASP.net
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Framework
 
Laravel Introduction
Laravel IntroductionLaravel Introduction
Laravel Introduction
 
[Final] ReactJS presentation
[Final] ReactJS presentation[Final] ReactJS presentation
[Final] ReactJS presentation
 
Webservices
WebservicesWebservices
Webservices
 
Introduction to ajax
Introduction  to  ajaxIntroduction  to  ajax
Introduction to ajax
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
 
Introduction to Angularjs
Introduction to AngularjsIntroduction to Angularjs
Introduction to Angularjs
 
ReactJS presentation.pptx
ReactJS presentation.pptxReactJS presentation.pptx
ReactJS presentation.pptx
 
Laravel Tutorial PPT
Laravel Tutorial PPTLaravel Tutorial PPT
Laravel Tutorial PPT
 
Asp.net mvc basic introduction
Asp.net mvc basic introductionAsp.net mvc basic introduction
Asp.net mvc basic introduction
 
Jsp ppt
Jsp pptJsp ppt
Jsp ppt
 

Similar to Model View Controller (MVC)

Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01
Jennie Gajjar
 
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 to Model View Controller (MVC) (20)

Architectural Design & Patterns
Architectural Design&PatternsArchitectural Design&Patterns
Architectural Design & Patterns
 
Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01Mvc 130330091359-phpapp01
Mvc 130330091359-phpapp01
 
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
 
Ppt of Basic MVC Structure
Ppt of Basic MVC StructurePpt of Basic MVC Structure
Ppt of Basic MVC Structure
 
Model View Controller ext4
Model View Controller  ext4Model View Controller  ext4
Model View Controller ext4
 
MVC - In Details
MVC - In DetailsMVC - In Details
MVC - In Details
 
MVC
MVCMVC
MVC
 
MVC
MVCMVC
MVC
 
Interaction-Oriented Architecture.pptx
Interaction-Oriented Architecture.pptxInteraction-Oriented Architecture.pptx
Interaction-Oriented Architecture.pptx
 
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
 
Web engineering - MVC
Web engineering - MVCWeb engineering - MVC
Web engineering - MVC
 
Software Design Patterns
Software Design PatternsSoftware Design Patterns
Software Design Patterns
 
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
 
MVC Seminar Presantation
MVC Seminar PresantationMVC Seminar Presantation
MVC Seminar Presantation
 
Asp.net,mvc
Asp.net,mvcAsp.net,mvc
Asp.net,mvc
 
Lec 4.ppt
Lec 4.pptLec 4.ppt
Lec 4.ppt
 
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and WorkingIRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
 
Design Pattern
Design PatternDesign Pattern
Design Pattern
 

More from Javier Antonio Humarán Peñuñuri

More from Javier Antonio Humarán Peñuñuri (10)

HTML5 Media Elements
HTML5 Media ElementsHTML5 Media Elements
HTML5 Media Elements
 
Buenas Prácticas para el uso de una Base de Datos
Buenas Prácticas para el uso de una Base de DatosBuenas Prácticas para el uso de una Base de Datos
Buenas Prácticas para el uso de una Base de Datos
 
XML, Webservice e RSS
XML, Webservice e RSSXML, Webservice e RSS
XML, Webservice e RSS
 
Segurança Em Computaçao Na Nuvem
Segurança Em Computaçao Na NuvemSegurança Em Computaçao Na Nuvem
Segurança Em Computaçao Na Nuvem
 
Java Server Pages
Java Server PagesJava Server Pages
Java Server Pages
 
Cuantificación de las necesidades de un producto o servicio
Cuantificación de las necesidades de un producto o servicioCuantificación de las necesidades de un producto o servicio
Cuantificación de las necesidades de un producto o servicio
 
Bici Tour, Proyecto de Desarrollo Emprendedor
Bici Tour, Proyecto de Desarrollo EmprendedorBici Tour, Proyecto de Desarrollo Emprendedor
Bici Tour, Proyecto de Desarrollo Emprendedor
 
Proceso de RUP
Proceso de RUPProceso de RUP
Proceso de RUP
 
Plan de Costos
Plan de CostosPlan de Costos
Plan de Costos
 
CPM, PERT Y GANTT
CPM, PERT Y GANTTCPM, PERT Y GANTT
CPM, PERT Y GANTT
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Model View Controller (MVC)

  • 1.
  • 2. • Software architecture pattern that separates the model, the user interface and control logic of an application in three distinct components.
  • 3. • MVC proposes the construction of three distinct components. One side for the representation of information, and on the other hand for user interaction. One model Many Views Many Controllers
  • 4. The Model Representation of domain data. Business logic Persistence mechanism The View User Interface Interaction elements The Controller Intermediary between Model and View It maps user actions – model actions Select the view and provide information to itself
  • 5. It is the specific representation of the information with which the system operates. Logic ensures the integrity of data and allows to derive it.
  • 6. Represents the model in a suitable format to interact and access the data, usually called "User Interface" (GUI Java, HTML, XML).
  • 7. It is the link between the view and the model, is responsible for receiving and responding to events, typically user actions and invokes changes on the model and probably in the view.
  • 8. • Organization • Rapid Application Development • Reusing Code • Parallel development • It presents the same information in different ways. • The views and application behavior should reflect the manipulations of the data immediately. • It allows different user interface standards or port it to other environments where the application code should not be affected.
  • 9. • This model is not new, it was introduced in 1987 in the Smalltalk programming language. • With the boom of Web applications, it has proven to be a programming mode that fits quite well with the internet, being both the model and the controller executed server side, and the view on the client side executed.
  • 10. Control Flow 1. 2. 3. 4. 5. The user performs an action on the interface. The controller takes the input event. The controller notifies the user action to the model, which may involve a change of state of the model. It generates a new view. The view takes the data model. The user interface waits for another user interaction, which starts a new cycle.
  • 11. Controller updates the model View alerts controller of a particular event View grabs model data and updates itself User interacts with a view Model alerts view that it has changed
  • 12. • It applies to all types of systems • And technologies (Java, Ruby, Python, Perl, Flex, SmallTalk,. Net, etc..)
  • 13. • Model: The model is made by the developer. • View: Set of objects of classes that inherit from java.awt.Component. • Controller: The controller is the event processing thread, which captures and propagates the event to the view and the model. Treatment classes of events (sometimes as anonymous classes) that implement EventListener type interfaces (ActionListener, MouseListener, WindowListener, etc..).
  • 14. Software Engineer Instituto Tecnológico de Sonora Sonora, México @javierhumaran