Model-View-ControllerModel-View-Controller
ArchitectureArchitecture
Hector Raphael MojicaHector Raphael Mojica
What is MVC?What is MVC?
 Architectural design pattern whichArchitectural design pattern which
works to separate data and UI for aworks to separate data and UI for a
more cohesive and modularizedmore cohesive and modularized
systemsystem
What is MVC?What is MVC?
 Model represents the data modelModel represents the data model
• ““Manages behavior and data of the applicationManages behavior and data of the application
domain”domain”
 View represents the screen(s) shown toView represents the screen(s) shown to
the userthe user
• ““Manages the graphical and/or textual outputManages the graphical and/or textual output
to the portion of the bitmapped display that isto the portion of the bitmapped display that is
allocated to its application”allocated to its application”
 Controller represents interactions from theController represents interactions from the
user that changes the data and the viewuser that changes the data and the view
• ““Interprets the mouse and keyboard inputsInterprets the mouse and keyboard inputs
from the user, commanding the model and/orfrom the user, commanding the model and/or
the view to change as appropriate” (Burbeck)the view to change as appropriate” (Burbeck)
How did it come about?How did it come about?
 Presented by Trygve Reenskaug inPresented by Trygve Reenskaug in
19791979
 First used in the Smalltalk-80First used in the Smalltalk-80
frameworkframework
• Used in making Apple interfaces (LisaUsed in making Apple interfaces (Lisa
and Macintosh)and Macintosh)
How does it work?How does it work?
 User inputs a commandUser inputs a command
 Controller handles input and updatesController handles input and updates
model or changes the viewmodel or changes the view
 View, which relies on model to showView, which relies on model to show
data to user, updates if necessarydata to user, updates if necessary
 Rinse and RepeatRinse and Repeat
What is MVC?What is MVC?
What’s the point?What’s the point?
 Provides a logical structure forProvides a logical structure for
heavily interactive systemheavily interactive system
 Adheres to good engineering designAdheres to good engineering design
principles and practicesprinciples and practices
• Information hiding, less coupling,Information hiding, less coupling,
simplicity, etc.simplicity, etc.
• Delegated control styleDelegated control style
What’s the point?What’s the point?
 Just plain easier (even if it doesn’t lookJust plain easier (even if it doesn’t look
it)!it)!
• Study shows that most introductory CSStudy shows that most introductory CS
college students tend to clump a UI programcollege students tend to clump a UI program
into one big monolithic main classinto one big monolithic main class
• Unfamiliarity stems from student tendency toUnfamiliarity stems from student tendency to
program according to styles presented inprogram according to styles presented in
textbooks and not being introduced to designtextbooks and not being introduced to design
principles early (Morse)principles early (Morse)
ConclusionConclusion
 MVC is a soundMVC is a sound architectural designarchitectural design
for almost any GUI applicationfor almost any GUI application
ReferencesReferences
 WikipediaWikipedia
 Fox, Christopher.Fox, Christopher. Introduction to SoftwareIntroduction to Software
Engineering DesignEngineering Design. Boston: Pearson, 2006.. Boston: Pearson, 2006.
 Burbeck, Steve. Applications Programming inBurbeck, Steve. Applications Programming in
Smalltalk-80(TM): How to use Model-View-Smalltalk-80(TM): How to use Model-View-
Controller (MVC).Controller (MVC).
http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvchttp://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc
 Morse, Scot F.Morse, Scot F. Introducing Application Design andIntroducing Application Design and
Software Engineering Principles in IntroductorySoftware Engineering Principles in Introductory
CS Courses: Model-View-Controller JavaCS Courses: Model-View-Controller Java
Application Framework.Application Framework.

More Related Content

PPTX
Model View Controller ext4
PDF
MVC - In Details
PPTX
Acrhitecture deisign pattern_MVC_MVP_MVVM
PPTX
Design patterns
PDF
Mvc, mvp, mvvm...
PDF
Ui design patterns
PPTX
Model View Controller(MVC)
Model View Controller ext4
MVC - In Details
Acrhitecture deisign pattern_MVC_MVP_MVVM
Design patterns
Mvc, mvp, mvvm...
Ui design patterns
Model View Controller(MVC)

What's hot (20)

PPTX
Slide Presentation of MVP Pattern Concept
PPTX
Architectural Design & Patterns
PPTX
Model View Presenter (MVP) In Aspnet
PDF
MVVM Presentation
PPTX
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
PPT
MVC(Model View Controller),Web,Enterprise,Mobile
PPTX
Systems Archticture
PPTX
Introduction To Model View Presenter
PPTX
Model view controller (mvc)
PPTX
UI Design Patterns
PPTX
Design pattern
PPTX
Modern Software Architectures: Building Solutions for Web, Cloud, and Mobile
PPTX
Model View ViewModel
PDF
Principles of MVC for Rails Developers
PDF
Presentation facade design pattern
PPTX
Facade Pattern
PPTX
MVx patterns in iOS (MVC, MVP, MVVM)
PPTX
Software Architecture vs design
PPTX
Model Based Requirements Engineering (MBRE)
Slide Presentation of MVP Pattern Concept
Architectural Design & Patterns
Model View Presenter (MVP) In Aspnet
MVVM Presentation
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
MVC(Model View Controller),Web,Enterprise,Mobile
Systems Archticture
Introduction To Model View Presenter
Model view controller (mvc)
UI Design Patterns
Design pattern
Modern Software Architectures: Building Solutions for Web, Cloud, and Mobile
Model View ViewModel
Principles of MVC for Rails Developers
Presentation facade design pattern
Facade Pattern
MVx patterns in iOS (MVC, MVP, MVVM)
Software Architecture vs design
Model Based Requirements Engineering (MBRE)
Ad

Similar to MVC (20)

PPTX
MVC.pptx
PPT
MVC architecture in software programming for interactive apps
PDF
Understanding MVC Design
PDF
MVC in PHP
PPSX
Software Design Patterns
PDF
MVC Architecture
PDF
Verbal+Visual: MVC Structure. Model, View, Controller.
PPTX
An Introduction To Model  View  Controller In XPages
ODP
Model View Controller
PPTX
MWLUG 2015 - An Introduction to MVC
PPTX
Mvc pattern and implementation in java fair
PDF
Model-View-Controller: Tips&Tricks
PDF
Model View Madness
PPTX
5_6163495906206292160 for study purpose.pptx
PDF
Principles of MVC for PHP Developers
PPTX
MVC architecture by Mohd.Awais on 18th Aug, 2017
PPTX
Design Pattern - MVC, MVP and MVVM
PPTX
Cs 1023 lec 2 (week 1) edit 1
PPTX
Cs 1023 lec 2 (week 1) edit 1
PPT
Mvc 130330091359-phpapp01
MVC.pptx
MVC architecture in software programming for interactive apps
Understanding MVC Design
MVC in PHP
Software Design Patterns
MVC Architecture
Verbal+Visual: MVC Structure. Model, View, Controller.
An Introduction To Model  View  Controller In XPages
Model View Controller
MWLUG 2015 - An Introduction to MVC
Mvc pattern and implementation in java fair
Model-View-Controller: Tips&Tricks
Model View Madness
5_6163495906206292160 for study purpose.pptx
Principles of MVC for PHP Developers
MVC architecture by Mohd.Awais on 18th Aug, 2017
Design Pattern - MVC, MVP and MVVM
Cs 1023 lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
Mvc 130330091359-phpapp01
Ad

Recently uploaded (20)

PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PPTX
Benefits of Physical activity for teenagers.pptx
PPT
Geologic Time for studying geology for geologist
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
STKI Israel Market Study 2025 version august
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PPTX
Chapter 5: Probability Theory and Statistics
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Architecture types and enterprise applications.pdf
PPTX
2018-HIPAA-Renewal-Training for executives
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
Two-dimensional Klein-Gordon and Sine-Gordon numerical solutions based on dee...
PDF
Flame analysis and combustion estimation using large language and vision assi...
1 - Historical Antecedents, Social Consideration.pdf
sustainability-14-14877-v2.pddhzftheheeeee
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
Benefits of Physical activity for teenagers.pptx
Geologic Time for studying geology for geologist
Enhancing emotion recognition model for a student engagement use case through...
STKI Israel Market Study 2025 version august
A proposed approach for plagiarism detection in Myanmar Unicode text
A review of recent deep learning applications in wood surface defect identifi...
Taming the Chaos: How to Turn Unstructured Data into Decisions
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Chapter 5: Probability Theory and Statistics
Module 1.ppt Iot fundamentals and Architecture
Developing a website for English-speaking practice to English as a foreign la...
Architecture types and enterprise applications.pdf
2018-HIPAA-Renewal-Training for executives
sbt 2.0: go big (Scala Days 2025 edition)
Final SEM Unit 1 for mit wpu at pune .pptx
Two-dimensional Klein-Gordon and Sine-Gordon numerical solutions based on dee...
Flame analysis and combustion estimation using large language and vision assi...

MVC

  • 2. What is MVC?What is MVC?  Architectural design pattern whichArchitectural design pattern which works to separate data and UI for aworks to separate data and UI for a more cohesive and modularizedmore cohesive and modularized systemsystem
  • 3. What is MVC?What is MVC?  Model represents the data modelModel represents the data model • ““Manages behavior and data of the applicationManages behavior and data of the application domain”domain”  View represents the screen(s) shown toView represents the screen(s) shown to the userthe user • ““Manages the graphical and/or textual outputManages the graphical and/or textual output to the portion of the bitmapped display that isto the portion of the bitmapped display that is allocated to its application”allocated to its application”  Controller represents interactions from theController represents interactions from the user that changes the data and the viewuser that changes the data and the view • ““Interprets the mouse and keyboard inputsInterprets the mouse and keyboard inputs from the user, commanding the model and/orfrom the user, commanding the model and/or the view to change as appropriate” (Burbeck)the view to change as appropriate” (Burbeck)
  • 4. How did it come about?How did it come about?  Presented by Trygve Reenskaug inPresented by Trygve Reenskaug in 19791979  First used in the Smalltalk-80First used in the Smalltalk-80 frameworkframework • Used in making Apple interfaces (LisaUsed in making Apple interfaces (Lisa and Macintosh)and Macintosh)
  • 5. How does it work?How does it work?  User inputs a commandUser inputs a command  Controller handles input and updatesController handles input and updates model or changes the viewmodel or changes the view  View, which relies on model to showView, which relies on model to show data to user, updates if necessarydata to user, updates if necessary  Rinse and RepeatRinse and Repeat
  • 7. What’s the point?What’s the point?  Provides a logical structure forProvides a logical structure for heavily interactive systemheavily interactive system  Adheres to good engineering designAdheres to good engineering design principles and practicesprinciples and practices • Information hiding, less coupling,Information hiding, less coupling, simplicity, etc.simplicity, etc. • Delegated control styleDelegated control style
  • 8. What’s the point?What’s the point?  Just plain easier (even if it doesn’t lookJust plain easier (even if it doesn’t look it)!it)! • Study shows that most introductory CSStudy shows that most introductory CS college students tend to clump a UI programcollege students tend to clump a UI program into one big monolithic main classinto one big monolithic main class • Unfamiliarity stems from student tendency toUnfamiliarity stems from student tendency to program according to styles presented inprogram according to styles presented in textbooks and not being introduced to designtextbooks and not being introduced to design principles early (Morse)principles early (Morse)
  • 9. ConclusionConclusion  MVC is a soundMVC is a sound architectural designarchitectural design for almost any GUI applicationfor almost any GUI application
  • 10. ReferencesReferences  WikipediaWikipedia  Fox, Christopher.Fox, Christopher. Introduction to SoftwareIntroduction to Software Engineering DesignEngineering Design. Boston: Pearson, 2006.. Boston: Pearson, 2006.  Burbeck, Steve. Applications Programming inBurbeck, Steve. Applications Programming in Smalltalk-80(TM): How to use Model-View-Smalltalk-80(TM): How to use Model-View- Controller (MVC).Controller (MVC). http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvchttp://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc  Morse, Scot F.Morse, Scot F. Introducing Application Design andIntroducing Application Design and Software Engineering Principles in IntroductorySoftware Engineering Principles in Introductory CS Courses: Model-View-Controller JavaCS Courses: Model-View-Controller Java Application Framework.Application Framework.